CVE-2026-52836
HighCVSS 8.7Summary
In OpenDDS prior to 3.34.0, a network attacker can send a malformed RTPS UDP submessage that causes the read pointer to advance beyond valid data. This results in a SIGSEGV in the receive thread and termination of the DDS process. No authentication or user interaction is required.
Risk Assessment
An attacker can remotely crash a DDS participant, causing unavailability of services relying on OpenDDS. This may disrupt real-time and communication systems.
Recommendation
Update OpenDDS to version 3.34.0 or later. Until then, consider restricting network access to RTPS UDP ports.
Other vulnerabilities in OpenDDS
See all- CVE-2026-52486Medium
An issue in OpenDDS 3.33.x allows a local attacker to cause a denial of service via the verify function in the SIgnedDocument module.
- CVE-2023-37915High
OpenDDS, an open-source C++ implementation of the Data Distribution Service (DDS), crashes while parsing a malformed PID_PROPERTY_LIST in a DATA submessage during participant discovery. Attackers can remotely crash OpenDDS processes by sending a DATA submessage containing the malformed parameter to the known multicast port.
Original NVD description (English source)
OpenDDS is an open source C++ implementation of the Object Management Group (OMG) Data Distribution Service (DDS). Prior to 3.34.0, a network attacker can crash a reachable OpenDDS participant by sending a malformed RTPS UDP submessage whose crafted length or sequence-number state causes dds/DCPS/transport/rtps_udp/RtpsUdpReceiveStrategy.cpp in RtpsUdpReceiveStrategy::handle_input() to advance ACE_Message_Block::rd_ptr() beyond valid data. The parser can then call dds/DCPS/transport/rtps_udp/RtpsSampleHeader.cpp in RtpsSampleHeader::init(), which dereferences the invalid read pointer without first validating it against wr_ptr() or ensuring that a complete submessage header remains. The resulting SIGSEGV occurs in the receive thread, terminates the DDS process, and destroys the DDS entities hosted by that participant. No authentication, prior protocol state, or victim interaction is required. This issue is fixed in version 3.34.0.

