Fast-DDS Discovery Server: Out-of-Bounds Read & Heap Memory Disclosure via DATA_FRAG sampleSize / fragmentsInSubmessage
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA.
Summary
eprosima Fast DDS is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group). Versions prior to 2.6.12, 2.14.6, 3.2.4, 3.3.1, and 3.4.2 have a remotely triggerable Out-of-Bounds Read while processing RTPS `DATA_FRAG` submessages. An attacker can craft a `DATA_FRAG` with a large `sampleSize` but a small actual payload, and set `fragmentsInSubmessage` such that the receiver treats the packet as the LAST fragment**. In this LAST-fragment path, Fast-DDS computes `incoming_length` based on `sampleSize` and calls `memcpy()` without validating `incoming_data.length >= incoming_length`. As a result, `CacheChange_t::add_fragments()` reads past the received UDP datagram buffer and into adjacent heap memory, copying those bytes into the reassembly buffer. In a Discovery Server deployment, the resulting `CacheChange_t` can be relayed to other participants, meaning that a newly joining participant may receive leaked heap memory (e.g., pointer values that could aid ASLR bypass). Versions 2.6.12, 2.14.6, 3.2.4, 3.3.1, and 3.4.2 fix the issue.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| eProsima | Fast-DDS | before 2.6.12; 2.7.0 to before 2.14.6; 3.0.0 to before 3.2.4; 3.3.0 to before 3.3.1; 3.4.0 to before 3.4.2 | 2.6.12, 2.14.6, 3.2.4, 3.3.1, 3.4.2 | Patch available | CNA |
- Fast-DDS VendoreProsima Affected before 2.6.12; 2.7.0 to before 2.14.6; 3.0.0 to before 3.2.4; 3.3.0 to before 3.3.1; 3.4.0 to before 3.4.2 Fixed in 2.6.12, 2.14.6, 3.2.4, 3.3.1, 3.4.2 Patch available CNA
Remediation
- Fix · CNA Fast-DDS (eProsima) Fixed in 2.6.12, 2.14.6, 3.2.4, 3.3.1, 3.4.2
Timeline
- 2026-10-02 Threatist record created from CVE-2026-22590
More eProsima vulnerabilities
- TI-2025-38815 Integer overflow in eProsima Fast-DDS CVSS 3.1HIGH 8.6
- TI-2024-18790 Manipulated DATA Submessage causes a heap-buffer-overflow error CVSS 3.1CRITICAL 9.7
- TI-2023-27485 Disconnect Vulnerability in RTPS Packets Used by SROS2 CVSS 3.1CRITICAL 9.7
- TI-2024-20005 FastDDS heap buffer overflow when publisher sends malformed packet CVSS 3.1HIGH 8.2
- TI-2023-20840 Another heap overflow in push_back_helper CVSS 3.1HIGH 8.2
- TI-2023-20839 Heap overflow in push_back_helper due to a CDR message CVSS 3.1HIGH 8.2
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences