CVE-2025-11617CVE-2025-11617是FreeRTOS-Plus-TCP库中IPv6数据包处理代码存在的一个安全漏洞。该漏洞源于IPv6数据包处理过程中缺少对载荷长度的验证检查。当系统接收到一个IPv6数据包,且该数据包头中声明的载荷长度(Payload Length)字段值与实际数据不匹配时,解析代码会基于错误的长度信息进行内存读取操作,从而导致越界读取(Out-of-Bounds Read)问题。
FreeRTOS-Plus-TCP是AWS维护的一款面向FreeRTOS操作系统的TCP/IP协议栈实现,广泛应用于物联网(IoT)嵌入式设备中。该漏洞仅影响使用IPv6协议栈的应用程序,使用纯IPv4的应用不受影响。根据CVSS 3.1评分标准,该漏洞评分为5.4分,属于中危级别。攻击者可以通过网络远程发送特制的IPv6数据包来触发该漏洞,需要低权限认证,但无需用户交互即可利用。
该漏洞的成功利用可能导致有限的信息泄露和系统可用性降低。虽然完整性影响为无,但越界读取可能导致敏感内存信息泄露,或在某些情况下引发系统崩溃(DoS)。鉴于FreeRTOS-Plus-TCP广泛应用于嵌入式IoT设备,该漏洞的影响范围可能涉及大量物联网终端产品。AWS已发布相应的安全公告(AWS-2025-023),建议用户尽快升级到修复版本V4.3.4。
该漏洞的根本原因在于FreeRTOS-Plus-TCP的IPv6数据包解析代码中缺少对IPv6头部载荷长度字段的合法性验证。
IPv6数据包头部格式中包含一个16位的载荷长度(Payload Length)字段,用于指示IPv6头部之后的数据长度。正常的IPv6协议栈在解析数据包时,应当验证该字段值是否与实际接收到的数据长度一致。然而,在存在漏洞的FreeRTOS-Plus-TCP版本中,解析代码直接信任头部中声明的载荷长度值,未进行边界检查。
攻击利用方式如下:
1. 攻击者构造一个特制的IPv6数据包,在IPv6头部中将Payload Length字段设置为超出实际数据包长度的值;
2. 该数据包通过网络发送到目标设备;
3. 目标设备的FreeRTOS-Plus-TCP协议栈接收数据包后,根据头部中错误的载荷长度进行内存读取;
4. 由于读取长度超出实际分配的数据缓冲区范围,导致越界读取发生;
5. 越界读取的内容可能包含相邻内存中的敏感数据,或触发内存访问异常导致系统崩溃。
由于该漏洞的攻击向量为网络(AV:N),且无需用户交互(UI:N),攻击者可以在远程通过网络直接发送恶意数据包来触发漏洞。需要注意的是,利用该漏洞需要低权限(PR:L),意味着攻击者需要某种形式的网络访问权限(如连接到目标网络或已经位于同一网段)。