CVE-2025-71093CVE-2025-71093是Linux内核中e1000网络驱动程序的一个高危安全漏洞。该漏洞存在于e1000_tbi_should_accept()函数中,由于对帧长度验证不足,导致越界读取内存。当驱动程序处理网络数据包时,如果描述符报告的长度为零或大于实际RX缓冲区大小,函数会尝试读取帧的最后一个字节(data[length - 1]),这会导致读取超出分配缓冲区的内存区域,可能访问到无关的slab对象。该漏洞可被本地攻击者利用,通过精心构造的网络数据包触发越界读取,从而可能获取敏感内存信息或导致系统不稳定。CVSS评分7.1,属于高危漏洞。
漏洞根源在于e1000_tbi_should_accept()函数中的不安全内存访问。问题代码为:u8 last_byte = *(data + length - 1); 该语句在未验证length有效性的情况下直接访问data数组的最后一个字节。当length为0时,访问data[-1];当length大于实际缓冲区大小时,访问超出边界的内存。KASAN检测到的slab-out-of-bounds错误显示,读取操作发生在kmalloc-2k缓存分配区域之外1620字节处。攻击者可通过发送特制的网络数据包到受影响系统,触发e1000_clean_rx_irq()函数调用路径,最终导致越界读取。由于是本地攻击向量(AV:L),需要攻击者具有本地访问权限,但权限要求较低(PR:L)。修复方案是在访问数据前增加长度验证:if (length == 0 || length > adapter->rx_buffer_len) return false;
暂无PoC代码