CVE-2026-52836 json
OpenDDS: out-of-bounds `rd_ptr` dereference in `RtpsSampleHeader::init` — triggered by malformed RTPS submessage, remotely exploitable denial of service
published 2026-09-17 52 d ago modified 2026-09-24 45 d ago also EUVD-2026-82339
- cvss
- 8.7
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 54%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- github.com/OpenDDS/OpenDDS@3ded334 commit
- github.com/OpenDDS/OpenDDS@b46382e commit
- github.com/OpenDDS/OpenDDS@d6bdddd commit
- github.com/OpenDDS/OpenDDS@e5aee3f commit
- github.com/OpenDDS/OpenDDS#5210 pull request
- github.com/OpenDDS/OpenDDS/releases/tag/v3.34.0 release
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 51 d ago
Exploit prediction
0.74% chance of exploitation in the next 30 days, higher than 54% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected products
- OpenDDS OpenDDS
Classification
- Weakness
-
- CWE-125 Out-of-bounds Read
References
- github.com /OpenDDS/OpenDDS/pull/5210
- github.com /OpenDDS/OpenDDS/commit/3ded3341e89db88e4c4e09d5153e05730b0a84ce
- github.com /OpenDDS/OpenDDS/commit/b46382ebc50d46f933ad6c860a396bffa97adbd7
- github.com /OpenDDS/OpenDDS/commit/d6bdddde9ee07f9ee0b461680e5fb64f95cd1251
- github.com /OpenDDS/OpenDDS/commit/e5aee3f5b18ee7174d66c3e7818270e1ba2cc2fa
- github.com /OpenDDS/OpenDDS/security/advisories/GHSA-wcr7-gccq-vv56
- github.com /OpenDDS/OpenDDS/releases/tag/v3.34.0
Sources
- CVE List CVE-2026-52836
- NVD CVE-2026-52836
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.