CVE-2025-71137CVE-2025-71137是Linux内核中的一个高危安全漏洞,位于octeontx2-pf网络驱动程序中。该漏洞源于RX ring大小参数(rx_pending)缺乏充分的合法性验证。当系统管理员或具有本地低权限的攻击者通过ethtool -G命令设置过小或为零的RX ring大小时,驱动程序会执行移位运算超出类型表示范围的未定义行为,触发UBSAN(Undefined Behavior Sanitizer)检测并报告shift-out-of-bounds错误。此漏洞的CVSS评分为7.8,属于高危级别,攻击复杂度低,无需用户交互即可利用。攻击成功可能导致内核崩溃(拒绝服务)或在特定条件下可能进一步利用实现本地权限提升。漏洞影响所有使用octeontx2-pf驱动的Linux系统,主要涉及Marvell Octeon TX2网络设备的驱动程序。该漏洞已被官方确认并通过内核安全更新进行修复。
该漏洞的技术本质是octeontx2-pf驱动程序在处理ethtool -G命令设置的RX ring参数时,未对rx_pending值进行充分的边界检查。驱动程序在计算内部数据结构时使用该参数进行移位运算,当rx_pending被设置为小于最小允许值的整数时,移位位数超出数据类型所能表示的范围,触发C标准中定义的未定义行为。UBSAN是Linux内核内置的未定义行为检测工具,能够在运行时捕获此类错误。具体而言,驱动代码可能在计算环形缓冲区大小或索引时使用了类似 (1 << rx_pending) 或基于rx_pending的位运算,当rx_pending值过小时,移位结果可能导致缓冲区分配过小或索引计算错误。攻击者只需具有本地访问权限和设置网络接口的能力,即可通过ethtool工具触发此漏洞,无需特殊权限提升。修复方案是在设置rx_pending前增加最小值检查,确保传入的值不低于驱动程序定义的最小ring大小阈值。