CyberRota Analysis
AI-GeneratedThe vulnerability in the Linux kernel affects the mac80211 subsystem, specifically during the removal of Multi-Link Operation (MLO) links, where the RX stats per-CPU buffer is prematurely freed while still being accessed by readers. This race condition could lead to use-after-free scenarios, potentially allowing attackers to exploit the freed memory space for arbitrary code execution or denial of service. Organizations utilizing Linux systems with MLO features should prioritize addressing this vulnerability to mitigate the associated risks.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: defer link RX stats percpu free to RCU sta_remove_link() frees a removed MLO link's RX stats percpu buffer right away, but defers only the link container to RCU: sta_info_free_link(&alloc->info); kfree_rcu(alloc, rcu_head); The RX fast path reads link_sta under rcu_read_lock and writes the percpu stats. A reader that resolved link_sta before the removal keeps the pointer. The container stays alive from the kfree_rcu, so the read still works. But the percpu block it points to is already freed. This needs uses_rss. That is when pcpu_rx_stats exists. The full STA teardown frees the deflink stats only after synchronize_net(). The link removal path had no such barrier. The race is hard to win in practice, but the free should still wait for RCU. Free the link together with its data from a single RCU callback, so the percpu block is reclaimed only after readers drain.