UBUNTU-CVE-2026-97600: Use After Free
In the Linux kernel, the following vulnerability has been resolved: ieee802154: cc2520: fix FIFOP work use-after-free The FIFOP interrupt handler queues cc2520fifopirqwork. On removal, cc2520remove() 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 disableworksync() 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 ieee802154unregisterhw() both take it. Found by an in-house static analysis tool.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
In cc2520_remove(), call disable_work_sync() instead of only flushing cc2520_fifop_irqwork, and destroy the buffer mutex last because both the worker and the stop callback invoked through ieee802154_unregister_hw() take it.