ieee802154: cc2520: fix FIFOP work use-after-free
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.160, 6.12.111, 6.18.53, 7.2.7
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: ieee802154: cc2520: fix FIFOP work use-after-free The FIFOP interrupt handler queues cc2520_fifop_irqwork. On removal, cc2520_remove() only flushes the work. The devm-managed FIFOP IRQ remains active until after ->remove() returns and can queue the work again after that flush, allowing it to run after the private data is released. Disable the work with disable_work_sync() instead of flushing it, so the handler can no longer queue it once removal begins. Destroy the buffer mutex last, since the worker and the stop callback invoked through ieee802154_unregister_hw() both take it. Found by an in-house static analysis tool.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 0da6bc8cc3417a5e452efb886ff2c61e72b743d6 · fixed in 4a1ba62a486a4c43af91d01661a95e82dc4aaefa; From 0da6bc8cc3417a5e452efb886ff2c61e72b743d6 · fixed in 56a9919d8494fb118eebf167bef0622528fbf2e7; From 0da6bc8cc3417a5e452efb886ff2c61e72b743d6 · fixed in c68fd52c73b676aee67020011e98fea125a978f4; From 0da6bc8cc3417a5e452efb886ff2c61e72b743d6 · fixed in 890a80d516a1447db5c21bf92841a82914ea897d; From 0da6bc8cc3417a5e452efb886ff2c61e72b743d6 · fixed in ff5891b266a7fc6a062710836be84f1cc19338b5
- Linux Linux
3.17
- KernelLinux
From 3.17.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7