CVE-2025-55090CVE-2025-55090是Eclipse Foundation ThreadX操作系统网络支持模块NetX Duo中的一个越界读取漏洞。该漏洞存在于NetX Duo 6.4.4之前的版本中,具体位于_nx_ipv4_packet_receive()函数中。当系统接收到一个IP数据包小于4字节的以太网帧时,该函数未能对输入数据进行充分的长度校验,导致可能发生越界读取操作。
NetX Duo是Eclipse ThreadX RTOS(实时操作系统)的网络协议栈实现,广泛应用于各类嵌入式系统和物联网设备中,提供TCP/IP网络通信能力。该漏洞由Eclipse社区的安全研究人员发现并报告,CVSS 3.1评分为6.5分,属于中危级别。
该漏洞的攻击向量为网络(AV:N),攻击者无需认证(PR:N)和用户交互(UI:N)即可远程触发。从影响来看,漏洞会导致低机密性影响(C:L)和低可用性影响(A:L),但不影响完整性(I:N)。攻击者可以通过向目标设备发送特制的畸形以太网帧来利用此漏洞,可能导致敏感信息泄露或系统服务异常。鉴于ThreadX被广泛应用于工业控制、汽车电子、医疗设备等关键嵌入式领域,该漏洞的潜在危害不容忽视。
该漏洞的根本原因在于NetX Duo的IPv4数据包接收处理函数_nx_ipv4_packet_receive()中缺少对输入数据长度的充分验证。当设备接收到一个以太网帧时,网络协议栈会解析该帧并提取其中的IP数据包进行处理。然而,在6.4.4之前的版本中,当传入的IP数据包长度小于4字节时(即不包含完整的IPv4头部最小长度),函数未能正确检查这一边界条件,导致在后续处理过程中发生越界读取。
从技术角度看,IPv4头部最小长度为20字节,但函数在处理过程中可能仅依赖某些字段的偏移量来访问数据,而没有首先验证数据包的实际长度是否满足最小头部要求。当攻击者构造一个包含极短IP数据包(小于4字节)的以太网帧时,函数会尝试读取超出实际数据缓冲区范围的内容,从而触发越界读取漏洞。
利用方式方面,攻击者无需认证即可通过网络远程发送特制的畸形数据包来触发该漏洞。具体攻击步骤包括:1)构造一个包含IPv4数据包但数据包长度小于4字节的以太网帧;2)通过TCP/IP网络将畸形帧发送到目标嵌入式设备;3)目标设备的NetX Duo协议栈在调用_nx_ipv4_packet_receive()处理该帧时触发越界读取;4)越界读取可能导致敏感内存数据泄露,或引发系统异常行为。由于该漏洞影响可用性,攻击者可能通过反复发送畸形帧导致设备反复异常,影响系统稳定性。