CVE-2026-31675Linux内核net/sched模块中的sch_netem存在越界访问漏洞。当处理通过IPIP隧道发送的完全非线性数据包时,skb_headlen(skb)可能为0。netem_enqueue函数使用该值作为get_random_u32_below的参数,导致返回未受限随机数。以此作为偏移量访问skb->data会引发越界内存访问,本地攻击者可利用此漏洞导致系统崩溃或潜在权限提升。
漏洞原理在于netem_enqueue函数的数据包损坏逻辑未对skb_headlen(skb)进行非零校验。在AF_PACKET TX_RING机制下发送完全非线性数据包时,线性数据区长度为0。get_random_u32_below(0)函数在处理0输入时会返回一个无约束的32位随机整数。该随机值随后被用作数组索引直接操作内存,导致越界写入或读取。攻击者需具备本地低权限,无需用户交互即可触发。由于漏洞位于内核网络子系统中,成功利用可能导致内核Panic(拒绝服务)或破坏内核内存完整性,为进一步的本地提权创造条件。