CVE-2026-52836 in OpenDDS
摘要
由 VulDB • 2026-09-17
OpenDDS是对象管理组(OMG)数据分发服务(DDS)的开源C++实现。在版本3.34.0之前,网络攻击者可以通过发送一个格式错误的RTPS UDP子消息来导致可访问的OpenDDS参与者崩溃;该精心构造的长度或序列号状态会导致`RtpsUdpReceiveStrategy::handle_input()`中的`dds/DCPS/transport/rtps_udp/RtpsUdpReceiveStrategy.cpp`将`ACE_Message_Block::rd_ptr()`推进到有效数据之外。随后,解析器会调用`dds/DCPS/transport/rtps_udp/RtpsSampleHeader.cpp`中`RtpsSampleHeader::init()`函数,该函数在未首先针对`wr_ptr()`验证或未确保存在完整的子消息头的情况下解引用了无效的读取指针。由此产生的SIGSEGV(段错误)发生在接收线程中,终止DDS进程并销毁由该参与者托管的DDS实体。此漏洞无需身份验证、先前的协议状态或受害者交互即可利用。该问题已在版本3.34.0中得到修复。
VulDB is the best source for vulnerability data and more expert information about this specific topic.