CVE-2026-68126 PUBLISHED

mac802154: hold an interface reference across the scan worker

Assigner: Linux
Reserved: 30.07.2026 Published: 10.08.2026 Updated: 10.08.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 57588c71177f0bfc08509c2c3a9bfe32850c0786 to bd7110f0caa32426140ff302a209c53294ef2cfd (excl.)
  • affected from 57588c71177f0bfc08509c2c3a9bfe32850c0786 to dd4754194a706163294b6141460101b99082c8c7 (excl.)
  • affected from 57588c71177f0bfc08509c2c3a9bfe32850c0786 to 59c1d5463b7bc5a2cdaae27108d1dfd67edc7d1b (excl.)
  • affected from 57588c71177f0bfc08509c2c3a9bfe32850c0786 to 5f303f622f6bb8907c405e5123a0ab0f70fb0065 (excl.)
  • affected from 57588c71177f0bfc08509c2c3a9bfe32850c0786 to 234e5e898b713bc0b3a631b6f002897f43d046c8 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.3 is affected
  • unaffected from 0 to 6.3 (excl.)
  • unaffected from 6.6.148 to 6.6.* (incl.)
  • unaffected from 6.12.101 to 6.12.* (incl.)
  • unaffected from 6.18.42 to 6.18.* (incl.)
  • unaffected from 7.1.6 to 7.1.* (incl.)
  • unaffected from 7.2-rc5 to * (incl.)

References