CVE-2026-5265CVE-2026-5265 是 OVN (Open Virtual Network) ovn-controller 组件中的一个安全漏洞。该漏洞源于在生成 ICMP 目标不可达或数据包过大响应时,处理程序未经验证即使用 IP 头部声明的总长度(IPv4 为 ip_tot_len,IPv6 为 ip6_plen)来复制原始数据包的一部分到 ICMP 错误正文中。攻击者可以发送长度较短但声明长度被人为夸大的 IP 数据包,并触发 ICMP 错误(例如通过访问控制列表拒绝)。这会导致 ovn-controller 读取有效数据包边界之外的堆内存,并将这些内存内容包含在返回给虚拟机的 ICMP 响应中,从而造成敏感信息泄露。
该漏洞属于堆越界读取漏洞。其根本原因在于 ovn-controller 在处理 ICMP 错误响应生成逻辑时,缺乏对数据包长度有效性的严格校验。正常情况下,当网络设备需要返回 ICMP 目标不可达或数据包过大消息时,会引用触发该错误的原始 IP 数据包的一部分作为载荷。受影响版本直接信任了 IP 头部声明的长度值,而未与实际接收到的缓冲区大小进行比对。利用此漏洞时,攻击者位于虚拟机中,构造特制的恶意数据包:其实际物理长度很短,但在 IP 头部中将“总长度”字段设置为一个很大的数值(超过实际缓冲区大小)。随后,攻击者确保该数据包触发一个 ICMP 错误响应(例如发送到一个配置了拒绝策略 ACL 的目的地址)。当 ovn-controller 尝试构建 ICMP 错误报文并引用原始数据包时,它会根据伪造的长度值读取内存,导致越界访问。最终,这些越界读取的堆内存数据会被封装在 ICMP 响应中回传给攻击者,可能泄露进程内存中的密钥、令牌或其他数据。