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

CVE-2026-23377 Linux内核ice驱动拒绝服务漏洞

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

漏洞信息

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

相关标签

Linux KernelDoSXDPice driverKernel PanicLocal

漏洞概述

Linux内核ice驱动程序在处理XDP(eXpress Data Path)数据包时存在逻辑缺陷。由于错误地将DMA写入长度而非缓冲区实际大小赋值给XDP RxQ的frag_size字段,导致tailroom计算出现负值。本地低权限用户可利用此漏洞触发内核崩溃,造成系统拒绝服务。

技术细节

该漏洞位于Linux内核的Intel ice驱动程序中。驱动在配置XDP接收队列时,使用了DMA写入长度来设置`xdp_rxq_info->frag_size`,然而内核函数`bpf_xdp_frags_increase_tail()`期望该字段代表整个缓冲区的大小(`xdp.frame_sz`)。这种大小假设的不一致导致在计算尾部空间时出现负值。利用场景涉及使用`xskxceiver`工具进行`XDP_ADJUST_TAIL_GROW_MULTI_BUFF`测试,通过将数据包大小设置为6912字节,并将调整偏移量设置为极大值(如`XSK_UMEM__MAX_FRAME_SIZE * 100`),可触发内核panic。尽管在零拷贝模式下由于特定配置可能不会直接观察到panic,但缓冲区尾部增长操作会异常失败,影响网络功能稳定性。

攻击链分析

STEP 1
1. 本地访问
攻击者获取本地低权限用户访问权限。
STEP 2
2. 执行恶意测试
攻击者使用xskxceiver工具,针对启用XDP的ice接口发送特制参数的测试请求。
STEP 3
3. 触发逻辑错误
驱动程序在处理frag_size时发生计算错误,导致tailroom为负值。
STEP 4
4. 系统崩溃
触发内核panic,导致系统重启或服务不可用。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC trigger for CVE-2026-23377 # Requires xskxceiver tool and configured interface INTERFACE="eth0" PACKET_SIZE=6912 OFFSET=$((9728 * 100)) # XSK_UMEM__MAX_FRAME_SIZE * 100 # Execute the test case that triggers negative tailroom calculation ./xskxceiver -i $INTERFACE \ -t XDP_ADJUST_TAIL_GROW_MULTI_BUFF \ -p $PACKET_SIZE \ -o $OFFSET # Note: This attempts to grow the tail with a massive offset, # triggering the calculation error in the ice driver.

影响范围

Linux Kernel (ice driver module)

防御指南

临时缓解措施
建议临时禁用受影响网卡接口的XDP功能,或限制本地用户对网络配置的修改权限,直至完成内核升级。

参考链接

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