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

power: supply: lp8727: fix use-after-free in lp8727_release_irq()

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

Summary

In the Linux kernel, the following vulnerability has been resolved: power: supply: lp8727: fix use-after-free in lp8727_release_irq() lp8727_isr_func(), the threaded IRQ handler, is the only caller that arms pchg->work via schedule_delayed_work(). lp8727_release_irq() currently cancels the work before freeing the IRQ, so an IRQ delivered in between can re-arm the work through the threaded handler. After .remove returns the devm layer frees pchg while lp8727_delayed_func() may still run and dereference it. Free the IRQ first so the threaded handler is quiesced and can no longer queue work, then cancel the delayed work to drain the final generation. This issue was found by an in-house static analysis tool.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From d71fda01610269e3aaedd451f8d3e34cdf550036 · fixed in 1321a4e6247164312eabc6d07f88572da2ee308c; From d71fda01610269e3aaedd451f8d3e34cdf550036 · fixed in dc1dc2837f8e53bde2f16d52a63f4142e21757f1; From d71fda01610269e3aaedd451f8d3e34cdf550036 · fixed in 035cc6bc4d412dd4302862e8f859b784fcd4653b; From d71fda01610269e3aaedd451f8d3e34cdf550036 · fixed in 6f0ce09d60a0e4fab6f9ebe8294750481f0c19dd; From d71fda01610269e3aaedd451f8d3e34cdf550036 · fixed in 80d4e40a85ba524e66c8c748aa7bb19eaf2f69df; From d71fda01610269e3aaedd451f8d3e34cdf550036 · fixed in ab6b1ad710bed7931540733ce145493fece8ceef; From d71fda01610269e3aaedd451f8d3e34cdf550036 · fixed in 6ab3128292df67295de1b2a86f21d89cf6612a7e; From d71fda01610269e3aaedd451f8d3e34cdf550036 · fixed in ceb6ac43b0f591722401922ceb958ce2616935e0

  • Linux Linux

    3.7

  • KernelLinux

    From 3.7.0 · fixed in 5.10.270; From 5.11.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 8

git.kernel.org