CVE-2026-31551Linux内核中的mac80211组件存在一个拒绝服务漏洞。该漏洞源于aql_enable_write()函数在处理debugfs写入时未对并发操作进行序列化。攻击者通过并发写入触发静态键计数的下溢,导致系统出现内核警告或崩溃。该问题影响系统可用性,需要本地低权限用户即可触发。
该漏洞位于Linux内核的net/mac80211/debugfs.c文件中的aql_enable_write()函数。原代码逻辑首先检查static_key_false(&aql_disable.key),随后根据结果调用static_branch_inc()或static_branch_dec()。然而,由于缺乏适当的锁机制(未序列化并发写入),多线程并发操作可能导致状态在检查和调用之间发生改变。具体而言,当两个并发写入操作同时发生时,可能导致static_branch_dec()在计数器已为零的情况下被调用,从而触发__static_key_slow_dec_cpuslocked中的WARN_ON(val == 0)断言,导致内核恐慌或系统不稳定。修复方案建议改用static_branch_enable()和static_branch_disable()以避免手动管理计数器。