Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
0da6bc8cc3417a5e452efb886ff2c61e72b743d6 to < 4a1ba62a486a4c43af91d01661a95e82dc4aaefaaffected0da6bc8cc3417a5e452efb886ff2c61e72b743d6 to < 56a9919d8494fb118eebf167bef0622528fbf2e7affected0da6bc8cc3417a5e452efb886ff2c61e72b743d6 to < c68fd52c73b676aee67020011e98fea125a978f4affected0da6bc8cc3417a5e452efb886ff2c61e72b743d6 to < 890a80d516a1447db5c21bf92841a82914ea897daffected0da6bc8cc3417a5e452efb886ff2c61e72b743d6 to < ff5891b266a7fc6a062710836be84f1cc19338b5affected
Linux Linux
Default version status: affected
3.17affected0 to < 3.17unaffected6.6.160 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/4a1ba62a486a4c43af91d01661a95e82dc4aaefa ↗
- https://git.kernel.org/stable/c/56a9919d8494fb118eebf167bef0622528fbf2e7 ↗
- https://git.kernel.org/stable/c/c68fd52c73b676aee67020011e98fea125a978f4 ↗
- https://git.kernel.org/stable/c/890a80d516a1447db5c21bf92841a82914ea897d ↗
- https://git.kernel.org/stable/c/ff5891b266a7fc6a062710836be84f1cc19338b5 ↗