CVE-2026-31548Linux内核cfg80211组件中存在一个竞态条件漏洞。当发起PMSR请求的nl80211套接字关闭时,系统会异步调度清理工作。如果在清理工作执行前无线接口被拆除,已挂起的工作项可能会在接口移除后仍尝试访问驱动程序回调,导致内核崩溃或未定义行为。
该漏洞发生在Linux内核的无线配置管理子系统(cfg80211)。在处理对等测量(PMSR)请求时,如果发起请求的Netlink套接字被关闭,系统会调用`cfg80211_release_pmsr`函数,该函数将请求的nl_portid置零,并调度`pmsr_free_wk`工作队列进行异步的中止处理。然而,如果无线接口在此工作队列执行之前被关闭(例如通过`cfg80211_pmsr_wdev_down`),系统会直接调用`cfg80211_pmsr_process_abort`。关键问题在于,此时并未取消之前已调度但尚未执行的`pmsr_free_wk`。这导致了一个竞态条件:当接口已经被拆除并从驱动中移除后,延迟的`pmsr_free_wk`仍然可能运行并尝试调用驱动的`abort_pmsr`回调函数。由于此时接口指针可能已经无效,这会导致释放后使用(UAF)或空指针解引用,进而引发内核崩溃。