{"api_version":"1","generated_at":"2026-07-23T14:58:16+00:00","cve":"CVE-2026-64038","urls":{"html":"https://cve.report/CVE-2026-64038","api":"https://cve.report/api/cve/CVE-2026-64038.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-64038","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-64038"},"summary":{"title":"hwmon: (lm90) Stop work before releasing hwmon device","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nhwmon: (lm90) Stop work before releasing hwmon device\n\nSashiko reports:\n\nIn lm90_probe(), the devm action to cancel the alert_work and report_work\n(lm90_restore_conf) is registered in lm90_init_client() before\ndevm_hwmon_device_register_with_info() is called.\n\nBecause devm executes cleanup actions in reverse order during module\nunbind or probe failure, the hwmon device is unregistered and freed first.\n\nIf lm90_alert_work() or lm90_report_alarms() runs in the window between\nthe hwmon device being freed and the delayed works being cancelled,\nlm90_update_alarms() will dereference the freed data->hwmon_dev here.\n\nFix the problem by canceling the workers separately after registering\nthe hwmon device and before registering the interrupt handler. This ensures\nthat the workers are canceled after interrupts are disabled and before\nthe hwmon device is released. Add \"shutdown\" flag to indicate that device\nshutdown is in progress to prevent workers from being re-armed.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-07-19 16:17:44","updated_at":"2026-07-19 16:17:44"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/479e297526aeb19c745eac5c1897f455f83dc5f8","name":"https://git.kernel.org/stable/c/479e297526aeb19c745eac5c1897f455f83dc5f8","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/b09a45601094c7f4ec4db8090b825fa61e169d93","name":"https://git.kernel.org/stable/c/b09a45601094c7f4ec4db8090b825fa61e169d93","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/c98107817b0f6cdf51adc5e84e75c39ee25d8b28","name":"https://git.kernel.org/stable/c/c98107817b0f6cdf51adc5e84e75c39ee25d8b28","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-64038","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64038","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected f6d0775119fb905fb02eafa98d575cf8ee792d46 c98107817b0f6cdf51adc5e84e75c39ee25d8b28 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected f6d0775119fb905fb02eafa98d575cf8ee792d46 479e297526aeb19c745eac5c1897f455f83dc5f8 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected f6d0775119fb905fb02eafa98d575cf8ee792d46 b09a45601094c7f4ec4db8090b825fa61e169d93 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.0","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.0 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.34 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0.11 7.0.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"64038","cve":"CVE-2026-64038","epss":"0.001660000","percentile":"0.061700000","score_date":"2026-07-20","updated_at":"2026-07-21 00:13:14"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/hwmon/lm90.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"c98107817b0f6cdf51adc5e84e75c39ee25d8b28","status":"affected","version":"f6d0775119fb905fb02eafa98d575cf8ee792d46","versionType":"git"},{"lessThan":"479e297526aeb19c745eac5c1897f455f83dc5f8","status":"affected","version":"f6d0775119fb905fb02eafa98d575cf8ee792d46","versionType":"git"},{"lessThan":"b09a45601094c7f4ec4db8090b825fa61e169d93","status":"affected","version":"f6d0775119fb905fb02eafa98d575cf8ee792d46","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/hwmon/lm90.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.0"},{"lessThan":"6.0","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.34","versionType":"semver"},{"lessThanOrEqual":"7.0.*","status":"unaffected","version":"7.0.11","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.34","versionStartIncluding":"6.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0.11","versionStartIncluding":"6.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1","versionStartIncluding":"6.0","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nhwmon: (lm90) Stop work before releasing hwmon device\n\nSashiko reports:\n\nIn lm90_probe(), the devm action to cancel the alert_work and report_work\n(lm90_restore_conf) is registered in lm90_init_client() before\ndevm_hwmon_device_register_with_info() is called.\n\nBecause devm executes cleanup actions in reverse order during module\nunbind or probe failure, the hwmon device is unregistered and freed first.\n\nIf lm90_alert_work() or lm90_report_alarms() runs in the window between\nthe hwmon device being freed and the delayed works being cancelled,\nlm90_update_alarms() will dereference the freed data->hwmon_dev here.\n\nFix the problem by canceling the workers separately after registering\nthe hwmon device and before registering the interrupt handler. This ensures\nthat the workers are canceled after interrupts are disabled and before\nthe hwmon device is released. Add \"shutdown\" flag to indicate that device\nshutdown is in progress to prevent workers from being re-armed."}],"providerMetadata":{"dateUpdated":"2026-07-19T15:39:26.071Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/c98107817b0f6cdf51adc5e84e75c39ee25d8b28"},{"url":"https://git.kernel.org/stable/c/479e297526aeb19c745eac5c1897f455f83dc5f8"},{"url":"https://git.kernel.org/stable/c/b09a45601094c7f4ec4db8090b825fa61e169d93"}],"title":"hwmon: (lm90) Stop work before releasing hwmon device","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-64038","datePublished":"2026-07-19T15:39:26.071Z","dateReserved":"2026-07-19T07:54:57.028Z","dateUpdated":"2026-07-19T15:39:26.071Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-19 16:17:44","lastModifiedDate":"2026-07-19 16:17:44","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"64038","Ordinal":"1","Title":"hwmon: (lm90) Stop work before releasing hwmon device","CVE":"CVE-2026-64038","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"64038","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nhwmon: (lm90) Stop work before releasing hwmon device\n\nSashiko reports:\n\nIn lm90_probe(), the devm action to cancel the alert_work and report_work\n(lm90_restore_conf) is registered in lm90_init_client() before\ndevm_hwmon_device_register_with_info() is called.\n\nBecause devm executes cleanup actions in reverse order during module\nunbind or probe failure, the hwmon device is unregistered and freed first.\n\nIf lm90_alert_work() or lm90_report_alarms() runs in the window between\nthe hwmon device being freed and the delayed works being cancelled,\nlm90_update_alarms() will dereference the freed data->hwmon_dev here.\n\nFix the problem by canceling the workers separately after registering\nthe hwmon device and before registering the interrupt handler. This ensures\nthat the workers are canceled after interrupts are disabled and before\nthe hwmon device is released. Add \"shutdown\" flag to indicate that device\nshutdown is in progress to prevent workers from being re-armed.","Type":"Description","Title":"hwmon: (lm90) Stop work before releasing hwmon device"}]}}}