IPBUF安全漏洞报告
English
CVE-2026-31394 CVSS 5.5 中危

CVE-2026-31394: Linux内核mac80211空指针引用崩溃漏洞

披露日期: 2026-04-03
来源: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

漏洞信息

漏洞编号
CVE-2026-31394
漏洞类型
空指针引用
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux Kernelmac80211DoSNULL Pointer DereferenceAP_VLAN

漏洞概述

Linux内核中的mac80211组件存在一个安全漏洞,该漏洞源于在处理AP_VLAN接口站点(如4addr WDS客户端)时的频道带宽变更操作。当系统执行信道切换(CSA)时,相关函数未正确解析VLAN sdata到其父AP sdata,导致访问了未初始化的link->reserved.oper数据,其中的chan指针为NULL。这进而引发空指针解引用,导致系统内核崩溃。

技术细节

该漏洞发生在Linux内核的网络子系统mac80211中。具体触发场景是当执行ieee80211_chan_bw_change函数以变更频道带宽时,该函数会遍历所有站点并通过sta->sdata->link[link_id]访问link->reserved.oper。对于位于AP_VLAN接口上的站点,sta->sdata指向VLAN sdata,其link从未参与过信道上下文保留,因此link->reserved.oper保持为零初始化状态(chan为NULL)。在后续调用__ieee80211_sta_cap_rx_bw()并访问chandef->chan->band时,系统将触发空指针解引用错误,导致内核崩溃。

攻击链分析

STEP 1
获取本地访问权限
攻击者需要在目标Linux系统上拥有本地低权限用户账号(PR:L)。
STEP 2
配置无线网络环境
利用系统配置能力或等待系统处于使用AP_VLAN接口(如4addr WDS模式)的状态。
STEP 3
触发信道切换
诱导或触发系统执行信道切换公告(CSA)操作,调用ieee80211_chan_bw_change函数。
STEP 4
利用漏洞
函数在遍历AP_VLAN站点时访问未初始化的指针,导致空指针解引用,引发系统崩溃(拒绝服务)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * Conceptual Proof of Concept for CVE-2026-31394 * This code demonstrates the logic flow to trigger the crash. * Requires a system with a wireless card supporting AP and AP_VLAN modes. */ #include <stdio.h> #include <stdlib.h> #include <string.h> // Simulating the steps to reproduce the vulnerability: // 1. Create a wireless Access Point (AP) interface. // 2. Create an AP_VLAN interface associated with the AP. // 3. Configure a 4addr WDS client (station) on the AP_VLAN interface. // 4. Trigger a Channel Switch Announcement (CSA) on the AP. void trigger_vulnerability() { printf("[+] Setting up AP interface...\n"); // system("iw dev wlan0 interface add wlan0-ap type __ap"); printf("[+] Adding AP_VLAN interface...\n"); // system("iw dev wlan0-ap interface add wlan0-vlan type __ap vlan 1"); printf("[+] Associating a 4addr WDS station to VLAN...\n"); // This sets up sta->sdata to point to the VLAN sdata printf("[+] Triggering Channel Switch (CSA)...\n"); // This invokes ieee80211_chan_bw_change(), which crashes // when iterating the VLAN station and accessing NULL chan. printf("[-] Kernel panic expected (NULL pointer dereference)\n"); } int main() { trigger_vulnerability(); return 0; }

影响范围

Linux Kernel (包含该漏洞的主线版本)
Linux Kernel (参考Git提交记录的稳定版分支)

防御指南

临时缓解措施
限制非特权用户对网络接口配置的访问权限,或在业务允许的情况下暂时禁用AP_VLAN及4addr WDS功能以规避触发条件。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表