CVE-2026-31752Linux内核网络桥接模块的`br_nd_send`函数存在安全漏洞。该函数在遍历邻居发现(ND)选项时,未能正确验证选项提供的长度。本地攻击者可构造恶意的ND数据包,利用格式错误的选项长度导致解析器超出预期范围读取数据或访问过短的源链路层地址载荷。此漏洞可能导致系统内核崩溃或拒绝服务,影响系统可用性。
该漏洞位于Linux内核`net/bridge/br_ndisc.c`文件中的`br_nd_send`函数。该函数负责处理IPv6邻居发现(ND)消息,在解析ND选项时,直接使用选项头中的Length字段来计算下一个选项的指针偏移,而未对该长度值进行严格的边界检查。攻击者可以发送特制的ND数据包,其中包含恶意构造的选项长度。当内核处理该数据包时,`br_nd_send`函数可能会根据错误的长度值计算出越界的指针,导致读取操作越过数据包缓冲区的末尾。此外,在读取源链路层地址(LLADDR)时,如果选项长度不足以容纳一个完整的以太网地址,代码仍尝试读取,将触发内存访问异常,导致内核崩溃。