CVE-2026-23444Linux内核的mac80211子系统存在高危内存管理漏洞。在ieee80211_tx_prepare_skb()函数中,当ieee80211_tx_prepare()返回TX_DROP时,未释放网络缓冲区(skb),导致内存泄漏。此外,调用者(如ath9k、mt76)重复释放skb可能引发双重释放漏洞。通过补丁修复,统一了错误处理逻辑,确保skb所有权清晰。本地低权限攻击者可利用此漏洞造成内核崩溃或潜在的权限提升。
该漏洞源于Linux内核net/mac80211/tx.c中ieee80211_tx_prepare_skb()函数的错误处理逻辑不一致。该函数在处理数据包传输准备时存在三个错误返回路径。其中,当ieee80211_tx_prepare()返回TX_DROP时,函数直接返回而未释放网络缓冲区(skb),导致内存泄漏。与此同时,另外两个错误路径以及其调用者(如ath9k、mt76驱动)均执行了释放操作。这种不一致性在引入修复补丁前,可能导致调用方对已释放的内存进行二次释放,即“Double Free”漏洞。利用此缺陷,本地攻击者可通过构造恶意WiFi流量触发特定错误路径,导致内核内存破坏,进而可能实现拒绝服务或本地权限提升。