CVE-2026-7423FreeRTOS-Plus-TCP 在 V4.4.1 和 V4.2.6 之前的版本中存在一个安全漏洞。该漏洞源于 ICMP 和 ICMPv6 回显回复处理程序中的整数下溢问题。当启用了传出 ping 支持时,相邻网络攻击者可以利用此漏洞,通过特制的数据包触发设备崩溃,从而导致拒绝服务。问题的根本原因是在验证数据包长度字段足够大之前,就从该字段中减去了标头大小,导致了严重的堆越界读取风险。
该漏洞位于 FreeRTOS-Plus-TCP 网络协议栈的 ICMP 和 ICMPv6 回显回复处理逻辑中。当设备处理传入的 ICMP/ICMPv6 数据包并准备发送回复时,代码需要解析数据包长度以确定有效载荷的位置。漏洞代码在计算过程中,直接从数据包长度字段中减去了 IP 和 ICMP/ICMPv6 标头的大小,以获取后续操作所需的长度值。关键缺陷在于未对减法操作前的数据包长度字段进行下边界检查。如果攻击者发送一个长度字段极小的恶意数据包(例如小于标头总大小),减法操作将导致整数下溢。在无符号整数运算中,这将产生一个非常大的数值。随后,程序使用这个错误的数值进行内存读取操作,导致堆越界读取。虽然描述中提及的是“读取”,但在嵌入式系统中,这种越界访问极易导致内存损坏、异常中断或系统崩溃,从而实现拒绝服务攻击。攻击者需处于相邻网络位置,且无需用户交互或认证即可发起攻击。