CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's mac802154 subsystem, where a race condition can lead to a use-after-free scenario due to improper handling of network device references during the scanning process. This can result in a denial-of-service condition or potential code execution if a stale worker iteration dereferences a freed network device. System administrators and developers working with Linux kernel networking, particularly those utilizing IEEE 802.15.4 protocols, should prioritize addressing this issue to mitigate associated risks.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: mac802154: hold an interface reference across the scan worker mac802154_scan_worker() captures the scanning sub-interface under RCU and then keeps dereferencing sdata->dev after rcu_read_unlock() and outside the rtnl -- in the failure traces, in mac802154_transmit_beacon_req() (skb->dev = sdata->dev), and in the end_scan cleanup. Nothing keeps that netdev alive across the worker iteration. A concurrent DEL_INTERFACE or PHY removal can unregister the interface once the worker drops the rtnl between its two drv_set_channel() sections. unregister_netdevice() frees the netdev asynchronously from netdev_run_todo() with the rtnl already dropped, so neither holding the rtnl nor the per-PHY IEEE802154_IS_SCANNING flag prevents a stale worker iteration from dereferencing the freed netdev -- a KASAN slab-use-after-free, reachable by racing TRIGGER_SCAN against DEL_INTERFACE (both CAP_NET_ADMIN). Pin the netdev with netdev_hold() while the RCU read lock is still held, and release it at every worker exit.