CVE-2025-11616CVE-2025-11616是FreeRTOS-Plus-TCP协议栈中ICMPv6数据包处理代码存在的一个安全漏洞。该漏洞源于代码中缺少对ICMPv6数据包的有效验证检查,当系统接收到某些特定消息类型但长度小于预期大小的ICMPv6数据包时,可能导致越界读取(Out-of-Bounds Read)操作。FreeRTOS-Plus-TCP是AWS维护的一款面向FreeRTOS操作系统的TCP/IP协议栈实现,广泛应用于嵌入式设备和物联网(IoT)产品中。该漏洞仅影响使用IPv6的网络通信功能,使用纯IPv4的应用不受影响。该漏洞的CVSS 3.1评分为5.4分,属于中危级别,攻击者需要具备低权限(PR:L)即可通过网络发起攻击,可能导致敏感信息泄露(机密性影响为低)和服务可用性降低(可用性影响为低)。AWS已于2025年10月发布安全公告AWS-2025-023,并发布了修复版本FreeRTOS-Plus-TCP V4.3.4,建议所有使用受影响版本的用户尽快升级到最新版本以修复该漏洞。
该漏洞存在于FreeRTOS-Plus-TCP的ICMPv6数据包处理模块中。具体技术原理如下:
1. **根本原因**:在处理ICMPv6数据包时,协议栈代码未对传入数据包的最小长度进行充分验证。ICMPv6协议定义了多种消息类型(如Echo Request、Neighbor Solicitation、Neighbor Advertisement等),每种类型都有其特定的数据结构长度要求。
2. **触发条件**:当攻击者构造一个消息类型字段为合法类型,但实际数据包长度小于该类型所要求的最小结构长度的ICMPv6数据包时,协议栈内部的解析代码会按照预期结构大小读取数据,从而发生越界读取操作。
3. **利用方式**:攻击者通过网络(AV:N)向目标设备发送精心构造的恶意ICMPv6数据包。由于该漏洞需要低权限(PR:L),攻击者可能需要在目标网络内或已获得一定网络访问权限的情况下才能利用。攻击无需用户交互(UI:N),可自动化执行。
4. **影响后果**:越界读取可能导致程序读取到未初始化的内存或越界的内存区域,从而造成敏感信息泄露(机密性影响为低)。同时,异常读取可能导致程序崩溃或进入不稳定状态,影响系统可用性(可用性影响为低)。由于读取操作不修改内存,完整性不受影响(I:N)。
5. **修复方案**:在ICMPv6处理代码中添加对数据包长度的验证检查,确保在解析数据包内容之前验证其长度是否满足该消息类型的最小结构要求。