CVE-2025-66646RIOT OS是一款开源的微控制器操作系统,专为物联网设备和嵌入式设备设计。该漏洞存在于RIOT OS v2025.07版本的IPv6分片重组实现中。当系统接收到特制的IPv6分片数据包时,如果该数据包的片段偏移量为0且载荷为空,系统会将载荷指针设置为NULL。然而,系统随后仍会尝试将载荷数据复制到重组缓冲区,由于对NULL指针进行了解引用操作,导致操作系统崩溃,从而造成拒绝服务(DoS)攻击。此漏洞的触发条件较为简单,只需启用gnrc_ipv6_ext_frag模块,攻击者即可通过发送任意IPv6数据包利用该漏洞。CVSS评分7.5,属于高危漏洞,对系统可用性造成严重影响。
该漏洞是一个典型的NULL指针解引用漏洞,位于RIOT OS的IPv6分片重组模块中。具体来说,当IPv6分片数据包到达时,系统需要将其与其他分片重组为完整的数据包。在处理过程中,代码逻辑未能正确处理fragment offset为0且payload为空的情况,导致payload指针被设置为NULL。随后在数据复制阶段,代码尝试访问该NULL指针,将其解引用后写入数据,最终触发NULL指针解引用错误。由于RIOT OS运行在资源受限的嵌入式设备上,缺乏完善的内存保护机制,因此这一操作直接导致系统崩溃。攻击者只需构造特定的IPv6分片数据包(offset=0, payload为空),通过启用gnrc_ipv6_ext_frag模块的目标设备即可触发漏洞,实现远程拒绝服务攻击。