Skip to main content
← All vulnerabilities
CVE-2026-89475

power: supply: bq24257: fix use-after-free on remove

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50, and 1 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: power: supply: bq24257: fix use-after-free on remove The STAT-pin interrupt is devm-managed, so it stays armed until the devm cleanup that runs after remove() returns. remove() cancels bq->iilimit_setup_work while the threaded handler can still fire; that handler reschedules the work and dereferences bq, so the work runs against freed memory once devm frees bq. Make the delayed work device-managed with devm_delayed_work_autocancel(), registered before the interrupt request. The devm cleanup then releases the interrupt first, so the handler can no longer reschedule the work, and cancels the work before bq is freed. The explicit cancel_delayed_work_sync() in remove() is no longer needed and is dropped. Found by static analysis.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 2219a935963e5eeb19e5abfb99475fcc06bbb804 · fixed in 9d77fd7dd9a3ad57f7655c5264b503b85adbb7b8; From 2219a935963e5eeb19e5abfb99475fcc06bbb804 · fixed in a279e64c907f5638bb34cb8e2c9285798cf5f690; From 2219a935963e5eeb19e5abfb99475fcc06bbb804 · fixed in 6d2eb93975c07b0169a3287efc1ae3b60cf52d8e; From 2219a935963e5eeb19e5abfb99475fcc06bbb804 · fixed in 861ec73ce86e2ca18082cc7be4f140a5bbdf1428; From 2219a935963e5eeb19e5abfb99475fcc06bbb804 · fixed in f495808cdd6d9576965787cf6d9737d0b0e86b73; From 2219a935963e5eeb19e5abfb99475fcc06bbb804 · fixed in 47ccbad210f48721c30d69d65b83dc9fff919ca9; From 2219a935963e5eeb19e5abfb99475fcc06bbb804 · fixed in 9d34c9d660c3d0931d2cc749c46c47cf31f96e48

  • Linux Linux

    4.2

  • KernelLinux

    From 4.2.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.109; From 6.13.0 · fixed in 6.18.50; From 6.19.0 · fixed in 7.2.4

References 7

git.kernel.org