CVE-2026-89467

Summary

In the Linux kernel, the following vulnerability has been resolved:

power: supply: qcom_battmgr: fix use-after-free

qcom_battmgr_pdr_notify() queues enable_work when the PMIC GLINK service comes up, and the worker recovers battmgr through container_of() to issue firmware requests. The PMIC GLINK client stays on the client list until its devres release action runs, so a PDR notification can keep queueing the work, and a pending or running worker can access battmgr after devres frees it.

Make enable_work device-managed with devm_work_autocancel(), registered before the PMIC GLINK client is allocated. The devres cleanup then releases the client first, so no further notification can queue the work, and cancels the work before battmgr is freed.

This issue was found by an in-house static analysis tool.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux29e8142b5623b5949587bcc4f591c4e6595c4aca < 06618447029c6dddaa02f6e9528efe5dd49fc329affected
LinuxLinux29e8142b5623b5949587bcc4f591c4e6595c4aca < 49fbcd3da2958159370d25dafbf736e654a4d59baffected
LinuxLinux29e8142b5623b5949587bcc4f591c4e6595c4aca < 4e40befedfc8ed86f44e1f81df92d13c149c9f8daffected
LinuxLinux6.3affected
LinuxLinux0 < 6.3unaffected
LinuxLinux6.18.50 <= 6.18.*unaffected
LinuxLinux7.2.4 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References