{"api_version":"1","generated_at":"2026-09-16T23:15:24+00:00","cve":"CVE-2026-89463","urls":{"html":"https://cve.report/CVE-2026-89463","api":"https://cve.report/api/cve/CVE-2026-89463.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-89463","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-89463"},"summary":{"title":"power: supply: ucs1002: fix use-after-free on remove","description":"In the Linux kernel, the following vulnerability has been resolved:\n\npower: supply: ucs1002: fix use-after-free on remove\n\nucs1002 has no remove callback, so unbind runs entirely through devm.\nThe alert IRQ handler queues the health_poll delayed work, and the work\nreschedules itself while the chip reports a bad-health condition.  devm\nfrees the alert IRQ, which only synchronizes the handler; it does not\ncancel the delayed work, which can then run after devm frees the driver\ndata and dereference it.\n\nRegister health_poll with devm_delayed_work_autocancel() before the\nalert IRQ is requested.  devm then frees the IRQ before cancelling the\nwork, so the handler can no longer queue it and the work is cancelled\nbefore the driver data is freed.\n\nThis issue was found by an in-house static analysis tool.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-11 20:19:27","updated_at":"2026-09-14 13:19:02"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/35242c93d35f391afdc84cef6236b8ad57f1df24","name":"https://git.kernel.org/stable/c/35242c93d35f391afdc84cef6236b8ad57f1df24","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/a9a7bb801c443a4d9fc623c4a47deb53accb70bb","name":"https://git.kernel.org/stable/c/a9a7bb801c443a4d9fc623c4a47deb53accb70bb","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/2ec4d203ecb06d327af67e32097fe8f774838a40","name":"https://git.kernel.org/stable/c/2ec4d203ecb06d327af67e32097fe8f774838a40","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/609af0ceeaefdfa42cd01dd060b20f2e41f9a232","name":"https://git.kernel.org/stable/c/609af0ceeaefdfa42cd01dd060b20f2e41f9a232","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/00c19f8a9a58a318a76fd6f735a8aab3f8ead393","name":"https://git.kernel.org/stable/c/00c19f8a9a58a318a76fd6f735a8aab3f8ead393","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/39b60d615dfa1725c235351fb12bc72e5f8a8d32","name":"https://git.kernel.org/stable/c/39b60d615dfa1725c235351fb12bc72e5f8a8d32","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/4ca2a4678202f15eb790eb7f1d562061709caea7","name":"https://git.kernel.org/stable/c/4ca2a4678202f15eb790eb7f1d562061709caea7","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-89463","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89463","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81196e2e57fc5b88f6b8ca98372a3dde047aa49d 00c19f8a9a58a318a76fd6f735a8aab3f8ead393 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81196e2e57fc5b88f6b8ca98372a3dde047aa49d a9a7bb801c443a4d9fc623c4a47deb53accb70bb git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81196e2e57fc5b88f6b8ca98372a3dde047aa49d 2ec4d203ecb06d327af67e32097fe8f774838a40 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81196e2e57fc5b88f6b8ca98372a3dde047aa49d 4ca2a4678202f15eb790eb7f1d562061709caea7 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81196e2e57fc5b88f6b8ca98372a3dde047aa49d 39b60d615dfa1725c235351fb12bc72e5f8a8d32 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81196e2e57fc5b88f6b8ca98372a3dde047aa49d 35242c93d35f391afdc84cef6236b8ad57f1df24 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81196e2e57fc5b88f6b8ca98372a3dde047aa49d 609af0ceeaefdfa42cd01dd060b20f2e41f9a232 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.10","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.221 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.188 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.157 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.109 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.50 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.4 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"89463","cve":"CVE-2026-89463","epss":"0.002000000","percentile":"0.099480000","score_date":"2026-09-14","updated_at":"2026-09-15 00:00:41"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/power/supply/ucs1002_power.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"00c19f8a9a58a318a76fd6f735a8aab3f8ead393","status":"affected","version":"81196e2e57fc5b88f6b8ca98372a3dde047aa49d","versionType":"git"},{"lessThan":"a9a7bb801c443a4d9fc623c4a47deb53accb70bb","status":"affected","version":"81196e2e57fc5b88f6b8ca98372a3dde047aa49d","versionType":"git"},{"lessThan":"2ec4d203ecb06d327af67e32097fe8f774838a40","status":"affected","version":"81196e2e57fc5b88f6b8ca98372a3dde047aa49d","versionType":"git"},{"lessThan":"4ca2a4678202f15eb790eb7f1d562061709caea7","status":"affected","version":"81196e2e57fc5b88f6b8ca98372a3dde047aa49d","versionType":"git"},{"lessThan":"39b60d615dfa1725c235351fb12bc72e5f8a8d32","status":"affected","version":"81196e2e57fc5b88f6b8ca98372a3dde047aa49d","versionType":"git"},{"lessThan":"35242c93d35f391afdc84cef6236b8ad57f1df24","status":"affected","version":"81196e2e57fc5b88f6b8ca98372a3dde047aa49d","versionType":"git"},{"lessThan":"609af0ceeaefdfa42cd01dd060b20f2e41f9a232","status":"affected","version":"81196e2e57fc5b88f6b8ca98372a3dde047aa49d","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/power/supply/ucs1002_power.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.10"},{"lessThan":"5.10","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.221","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.188","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.157","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.109","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.50","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.4","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.221","versionStartIncluding":"5.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.188","versionStartIncluding":"5.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.157","versionStartIncluding":"5.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.109","versionStartIncluding":"5.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.50","versionStartIncluding":"5.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.4","versionStartIncluding":"5.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3-rc1","versionStartIncluding":"5.10","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\npower: supply: ucs1002: fix use-after-free on remove\n\nucs1002 has no remove callback, so unbind runs entirely through devm.\nThe alert IRQ handler queues the health_poll delayed work, and the work\nreschedules itself while the chip reports a bad-health condition.  devm\nfrees the alert IRQ, which only synchronizes the handler; it does not\ncancel the delayed work, which can then run after devm frees the driver\ndata and dereference it.\n\nRegister health_poll with devm_delayed_work_autocancel() before the\nalert IRQ is requested.  devm then frees the IRQ before cancelling the\nwork, so the handler can no longer queue it and the work is cancelled\nbefore the driver data is freed.\n\nThis issue was found by an in-house static analysis tool."}],"providerMetadata":{"dateUpdated":"2026-09-14T12:00:02.113Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/00c19f8a9a58a318a76fd6f735a8aab3f8ead393"},{"url":"https://git.kernel.org/stable/c/a9a7bb801c443a4d9fc623c4a47deb53accb70bb"},{"url":"https://git.kernel.org/stable/c/2ec4d203ecb06d327af67e32097fe8f774838a40"},{"url":"https://git.kernel.org/stable/c/4ca2a4678202f15eb790eb7f1d562061709caea7"},{"url":"https://git.kernel.org/stable/c/39b60d615dfa1725c235351fb12bc72e5f8a8d32"},{"url":"https://git.kernel.org/stable/c/35242c93d35f391afdc84cef6236b8ad57f1df24"},{"url":"https://git.kernel.org/stable/c/609af0ceeaefdfa42cd01dd060b20f2e41f9a232"}],"title":"power: supply: ucs1002: fix use-after-free on remove","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-89463","datePublished":"2026-09-11T19:43:24.629Z","dateReserved":"2026-09-11T19:38:34.708Z","dateUpdated":"2026-09-14T12:00:02.113Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-11 20:19:27","lastModifiedDate":"2026-09-14 13:19:02","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"89463","Ordinal":"1","Title":"power: supply: ucs1002: fix use-after-free on remove","CVE":"CVE-2026-89463","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"89463","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\npower: supply: ucs1002: fix use-after-free on remove\n\nucs1002 has no remove callback, so unbind runs entirely through devm.\nThe alert IRQ handler queues the health_poll delayed work, and the work\nreschedules itself while the chip reports a bad-health condition.  devm\nfrees the alert IRQ, which only synchronizes the handler; it does not\ncancel the delayed work, which can then run after devm frees the driver\ndata and dereference it.\n\nRegister health_poll with devm_delayed_work_autocancel() before the\nalert IRQ is requested.  devm then frees the IRQ before cancelling the\nwork, so the handler can no longer queue it and the work is cancelled\nbefore the driver data is freed.\n\nThis issue was found by an in-house static analysis tool.","Type":"Description","Title":"power: supply: ucs1002: fix use-after-free on remove"}]}}}