CVE-2025-67111CVE-2025-67111是OpenDDS(Open Data Distribution Service) DDS软件中RTPS(Real-Time Publish-Subscribe)协议实现的一个高危安全漏洞。该漏洞为整数溢出(Integer Overflow)类型,于2025年12月23日被披露,CVSS评分达到7.5分,属于高危漏洞。OpenDDS是一个开源的分布式实时数据服务(DDS)实现,广泛应用于军事、航空航天、工业控制、汽车电子等对实时性要求较高的领域。RTPS协议是DDS标准的底层通信协议,用于实现发布-订阅模式的数据分发。在OpenDDS处理RTPS协议消息时,由于对接收数据的边界检查不充分,攻击者可以通过发送精心构造的恶意RTPS消息触发整数溢出。当整数溢出发生后,可能导致内存分配异常、缓冲区溢出或程序崩溃,最终造成拒绝服务(DoS)影响。由于该漏洞可通过网络远程利用,且无需任何认证和用户交互,攻击门槛较低,对运行OpenDDS服务的网络环境构成严重威胁。建议受影响用户尽快升级到v3.33.0或更高版本以修复此漏洞。
该漏洞位于OpenDDS的RTPS协议消息解析模块中。在RTPS协议中,消息结构包含多个长度字段和计数字段,用于描述后续数据的大小和数量。当OpenDDS解析接收到的RTPS消息时,会读取这些字段值并进行内存分配或索引计算。攻击者可以通过构造包含超大数值的长度字段或计数字段,使得程序在计算时发生整数溢出。例如,当程序执行类似 size = count * element_size 的计算时,如果count和element_size都是攻击者可控的值,且它们的乘积超过目标数据类型的最大值,就会发生整数溢出。溢出会导致size变量被截断为一个很小的值,进而导致后续的内存分配不足或索引越界。在RTPS协议处理中,典型的整数溢出场景包括:1)序列化参数列表的长度字段被操纵;2)位图(Bitmap)操作的计数溢出;3)序列号(Sequence Number)计算的回绕。成功利用此漏洞后,攻击者可以导致OpenDDS进程崩溃、内存损坏或触发断言失败,从而造成服务中断。由于OpenDDS通常作为守护进程运行,此漏洞可被用于对关键系统的DoS攻击。