{"api_version":"1","generated_at":"2026-09-11T22:05:31+00:00","cve":"CVE-2026-89467","urls":{"html":"https://cve.report/CVE-2026-89467","api":"https://cve.report/api/cve/CVE-2026-89467.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-89467","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-89467"},"summary":{"title":"power: supply: qcom_battmgr: fix use-after-free","description":"In the Linux kernel, the following vulnerability has been resolved:\n\npower: supply: qcom_battmgr: fix use-after-free\n\nqcom_battmgr_pdr_notify() queues enable_work when the PMIC GLINK service\ncomes up, and the worker recovers battmgr through container_of() to issue\nfirmware requests. The PMIC GLINK client stays on the client list until\nits devres release action runs, so a PDR notification can keep queueing\nthe work, and a pending or running worker can access battmgr after devres\nfrees it.\n\nMake enable_work device-managed with devm_work_autocancel(), registered\nbefore the PMIC GLINK client is allocated. The devres cleanup then\nreleases the client first, so no further notification can queue the work,\nand cancels the work before battmgr 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-11 20:19:27"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/06618447029c6dddaa02f6e9528efe5dd49fc329","name":"https://git.kernel.org/stable/c/06618447029c6dddaa02f6e9528efe5dd49fc329","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/4e40befedfc8ed86f44e1f81df92d13c149c9f8d","name":"https://git.kernel.org/stable/c/4e40befedfc8ed86f44e1f81df92d13c149c9f8d","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/49fbcd3da2958159370d25dafbf736e654a4d59b","name":"https://git.kernel.org/stable/c/49fbcd3da2958159370d25dafbf736e654a4d59b","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-89467","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89467","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 29e8142b5623b5949587bcc4f591c4e6595c4aca 06618447029c6dddaa02f6e9528efe5dd49fc329 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 29e8142b5623b5949587bcc4f591c4e6595c4aca 49fbcd3da2958159370d25dafbf736e654a4d59b git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 29e8142b5623b5949587bcc4f591c4e6595c4aca 4e40befedfc8ed86f44e1f81df92d13c149c9f8d git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.3","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.3 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":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/power/supply/qcom_battmgr.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"06618447029c6dddaa02f6e9528efe5dd49fc329","status":"affected","version":"29e8142b5623b5949587bcc4f591c4e6595c4aca","versionType":"git"},{"lessThan":"49fbcd3da2958159370d25dafbf736e654a4d59b","status":"affected","version":"29e8142b5623b5949587bcc4f591c4e6595c4aca","versionType":"git"},{"lessThan":"4e40befedfc8ed86f44e1f81df92d13c149c9f8d","status":"affected","version":"29e8142b5623b5949587bcc4f591c4e6595c4aca","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/power/supply/qcom_battmgr.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.3"},{"lessThan":"6.3","status":"unaffected","version":"0","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":"6.18.50","versionStartIncluding":"6.3","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.4","versionStartIncluding":"6.3","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3-rc1","versionStartIncluding":"6.3","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\npower: supply: qcom_battmgr: fix use-after-free\n\nqcom_battmgr_pdr_notify() queues enable_work when the PMIC GLINK service\ncomes up, and the worker recovers battmgr through container_of() to issue\nfirmware requests. The PMIC GLINK client stays on the client list until\nits devres release action runs, so a PDR notification can keep queueing\nthe work, and a pending or running worker can access battmgr after devres\nfrees it.\n\nMake enable_work device-managed with devm_work_autocancel(), registered\nbefore the PMIC GLINK client is allocated. The devres cleanup then\nreleases the client first, so no further notification can queue the work,\nand cancels the work before battmgr is freed.\n\nThis issue was found by an in-house static analysis tool."}],"providerMetadata":{"dateUpdated":"2026-09-11T19:43:27.247Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/06618447029c6dddaa02f6e9528efe5dd49fc329"},{"url":"https://git.kernel.org/stable/c/49fbcd3da2958159370d25dafbf736e654a4d59b"},{"url":"https://git.kernel.org/stable/c/4e40befedfc8ed86f44e1f81df92d13c149c9f8d"}],"title":"power: supply: qcom_battmgr: fix use-after-free","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-89467","datePublished":"2026-09-11T19:43:27.247Z","dateReserved":"2026-09-11T19:38:34.709Z","dateUpdated":"2026-09-11T19:43:27.247Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-11 20:19:27","lastModifiedDate":"2026-09-11 20:19:27","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"89467","Ordinal":"1","Title":"power: supply: qcom_battmgr: fix use-after-free","CVE":"CVE-2026-89467","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"89467","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\npower: supply: qcom_battmgr: fix use-after-free\n\nqcom_battmgr_pdr_notify() queues enable_work when the PMIC GLINK service\ncomes up, and the worker recovers battmgr through container_of() to issue\nfirmware requests. The PMIC GLINK client stays on the client list until\nits devres release action runs, so a PDR notification can keep queueing\nthe work, and a pending or running worker can access battmgr after devres\nfrees it.\n\nMake enable_work device-managed with devm_work_autocancel(), registered\nbefore the PMIC GLINK client is allocated. The devres cleanup then\nreleases the client first, so no further notification can queue the work,\nand cancels the work before battmgr is freed.\n\nThis issue was found by an in-house static analysis tool.","Type":"Description","Title":"power: supply: qcom_battmgr: fix use-after-free"}]}}}