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.
Security readout for executives and security teams
Plain-English summary
A remote, unauthenticated attacker can send a malformed Fast DDS network message that makes vulnerable systems read beyond received data. This may expose process memory and affect availability. Discovery Server deployments add risk because leaked memory can be relayed to participants, potentially revealing pointer values useful for bypassing memory protections.
Executive priority
Prioritize immediate inventory and rapid remediation for internet-facing, externally reachable, or shared Discovery Server deployments. Schedule remaining affected systems urgently because exploitation requires no authentication and may disclose sensitive process memory. Network restrictions are an interim measure, not a substitute for upgrading.
Technical view
Vulnerable Fast DDS releases insufficiently validate RTPS DATA_FRAG length values. When attacker-controlled sampleSize and fragmentsInSubmessage values select the last-fragment path, CacheChange_t::add_fragments() may copy beyond the UDP datagram buffer into a reassembly buffer. Fixed releases add protection against this out-of-bounds read and heap-memory disclosure condition.
Likely exposure
Exposure exists where affected Fast DDS components accept attacker-reachable RTPS traffic. Discovery Servers are especially important to identify because reassembled data may be relayed to newly joining participants. The bundle does not establish which specific applications, ports, or deployment defaults are exposed.
Exploitation context
The issue is remotely triggerable, requires no privileges or user interaction, and has low attack complexity according to CVSS 3.1. The bundle reports KEV as false and provides no cited evidence of active exploitation. Memory disclosure could reveal pointer values, while the CVSS assessment also indicates potentially high availability impact.
Researcher notes
The source bundle identifies CWE-125 and CWE-131 and CVSS 9.1. The documented flaw is an unchecked source-length condition in last-fragment processing. Evidence supports remote memory over-read and possible relay of copied heap data; it does not establish what secrets are consistently recoverable, reliable denial-of-service behavior, or exploitation in the wild.
Mitigation direction
Upgrade affected 2.6 releases to 2.6.12 or later.
Upgrade affected 2.7–2.14 releases to 2.14.6 or later.
Upgrade affected 3.x branches to 3.2.4, 3.3.1, or 3.4.2 as applicable.
Restrict untrusted network access to RTPS services until upgrades are complete.
Check the vendor advisory for any deployment-specific guidance.
Validation and detection
Inventory deployed Fast DDS libraries and record their exact versions.
Confirm versions fall outside every affected range listed in the advisory.
Identify Discovery Server deployments and determine whether untrusted systems can send RTPS traffic.
Verify upgraded services load the intended fixed Fast DDS library.
Review monitoring for unexplained crashes or memory-related faults, without treating absence as proof of safety.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-125: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-125 · source CWE mapping
Out-of-bounds Read
Out-of-bounds Read represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Incorrect Calculation of Buffer Size represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.