Description
In the Linux kernel, the following vulnerability has been resolved: mac802154: fix netdev use-after-free in beacon worker mac802154_beacon_worker() reads local->beacon_req under RCU and derives the sub-interface from the request, but then drops the RCU read lock and continues to use both sdata and the embedded wpan_dev. mac802154_stop_beacons_locked() cancels only pending beacon work, clears local->beacon_req and frees the request. A beacon worker that is already running can therefore continue after interface teardown and dereference the freed netdev private area. The scan worker already pins the netdev before leaving RCU. Apply the same lifetime rule to the beacon worker: take a netdev reference while the request is still protected by RCU, and release it on all paths that continue after the reference is acquired.
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
3accf4762734a69ebd03cba989249c78ac7dfc7e to < fe820dcc1d8ff77783a9d2bcc93b98c99ac6d517affected3accf4762734a69ebd03cba989249c78ac7dfc7e to < e5fb0e03bc7f45508c182a427357bf6b389a9033affected3accf4762734a69ebd03cba989249c78ac7dfc7e to < e6cd416a899edc912b428c4ba399bd73f516cb31affected3accf4762734a69ebd03cba989249c78ac7dfc7e to < 9d067e581597c462c51fee8a30b51bc48a68c4e1affected3accf4762734a69ebd03cba989249c78ac7dfc7e to < 5f26a690e8efa54315e4922368daf54e0b8f5515affected
Linux Linux
Default version status: affected
6.3affected0 to < 6.3unaffected6.6.152 to ≤ 6.6.*unaffected6.12.104 to ≤ 6.12.*unaffected6.18.45 to ≤ 6.18.*unaffected7.1.9 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/fe820dcc1d8ff77783a9d2bcc93b98c99ac6d517 ↗
- https://git.kernel.org/stable/c/e5fb0e03bc7f45508c182a427357bf6b389a9033 ↗
- https://git.kernel.org/stable/c/e6cd416a899edc912b428c4ba399bd73f516cb31 ↗
- https://git.kernel.org/stable/c/9d067e581597c462c51fee8a30b51bc48a68c4e1 ↗
- https://git.kernel.org/stable/c/5f26a690e8efa54315e4922368daf54e0b8f5515 ↗