CVE-2025-71112CVE-2025-71112是Linux内核中HNS3网络驱动的一个高危安全漏洞,CVSS评分7.1。该漏洞存在于HNS3驱动的VLAN配置处理逻辑中,当接收来自VF(Virtual Function)的VLAN配置mailbox时,系统未对VLAN id进行有效性验证。攻击者可以通过构造恶意的VLAN配置报文,传入超出合法范围的VLAN id值(大于或等于VLAN_N_VID),导致vlan_del_fail_bmap数组发生越界内存访问。由于vlan_del_fail_bmap的大小被定义为BITS_TO_LONGS(VLAN_N_VID),当VLAN id超过这个范围时,驱动会访问数组边界之外的内存地址,可能造成信息泄露或系统崩溃。此漏洞为本地攻击,攻击者需要低权限即可利用,无需用户交互即可触发。
漏洞根源在于Linux内核HNS3驱动中VLAN id验证机制的缺失。在处理来自VF的VLAN配置mailbox时,驱动直接使用传入的VLAN id访问vlan_del_fail_bmap位图数组,而没有首先检查该id是否在有效范围内(0到VLAN_N_VID-1)。vlan_del_fail_bmap数组的长度计算公式为BITS_TO_LONGS(VLAN_N_VID),其中VLAN_N_VID定义了VLAN ID的最大值。当攻击者发送一个VLAN id大于或等于VLAN_N_VID的恶意配置报文时,驱动代码会尝试访问数组边界之外的内存位置,从而触发越界访问。这种越界访问可能导致两种后果:1)读取敏感内核内存信息,造成信息泄露;2)写入非法内存地址,导致系统崩溃或潜在的权限提升。由于攻击向量为本地攻击(AV:L),且只需要低权限(PR:L),攻击者可以相对容易地利用此漏洞。修复方案是在使用VLAN id之前添加边界检查,确保id值在0到VLAN_N_VID-1的合法范围内。