Heap overflow in push_back_helper due to a CDR message
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · 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 Data Distribution Service standard of the Object Management Group. Prior to versions 2.11.1, 2.10.2, 2.9.2, and 2.6.6, heap can be overflowed by providing a PID_PROPERTY_LIST parameter that contains a CDR string with length larger than the size of actual content. In `eprosima::fastdds::dds::ParameterPropertyList_t::push_back_helper`, `memcpy` is called to first copy the octet'ized length and then to copy the data into `properties_.data`. At the second memcpy, both `data` and `size` can be controlled by anyone that sends the CDR string to the discovery multicast port. This can remotely crash any Fast-DDS process. Versions 2.11.1, 2.10.2, 2.9.2, and 2.6.6 contain a patch for this 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.6; 2.7.0 to before 2.9.2; 2.10.0 to before 2.10.2; = 2.11.0 | 2.6.6, 2.9.2, 2.10.2 | Patch available | CNA |
- Fast-DDS VendoreProsima Affected before 2.6.6; 2.7.0 to before 2.9.2; 2.10.0 to before 2.10.2; = 2.11.0 Fixed in 2.6.6, 2.9.2, 2.10.2 Patch available CNA
CPE configurations NVD · 4
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:eprosima:fast_dds:*:*:*:*:*:*:*:* | 2.6.0 to before 2.6.6; 2.9.0 to before 2.9.2; 2.10.0 to before 2.10.2 | Vulnerable | eProsima |
| cpe:2.3:a:eprosima:fast_dds:2.11.0:*:*:*:*:*:*:* | 2.11.0 | Vulnerable | eProsima |
| cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:* | 11.0 | Vulnerable | Debian |
| cpe:2.3:o:debian:debian_linux:12.0:*:*:*:*:*:*:* | 12.0 | Vulnerable | Debian |
- cpe:2.3:a:eprosima:fast_dds:*:*:*:*:*:*:*:* Versions 2.6.0 to before 2.6.6; 2.9.0 to before 2.9.2; 2.10.0 to before 2.10.2 Vulnerable ·eProsima
- cpe:2.3:a:eprosima:fast_dds:2.11.0:*:*:*:*:*:*:* Versions 2.11.0 Vulnerable ·eProsima
- cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:* Versions 11.0 Vulnerable ·Debian
- cpe:2.3:o:debian:debian_linux:12.0:*:*:*:*:*:*:* Versions 12.0 Vulnerable ·Debian
Remediation
- Fix · CNA Fast-DDS (eProsima) Fixed in 2.6.6, 2.9.2, 2.10.2
Timeline
- 2026-10-02 Threatist record created from CVE-2023-39946
References
More eProsima Fast Dds 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-20838 Malformed serialized data in a data submessage leads to unhandled exception CVSS 3.1HIGH 8.2
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences