CVE-2026-22590: CWE-125: Out-of-bounds Read in eProsima Fast-DDS
Affects eProsima Fast-DDSSource CVE Database V5
Not known to be exploited · CVSS 9.1 Critical.
Data as of 10/25/2026, 04:40:11 UTC
- Exploitation
Not in CISA KEV, no exploitation reported
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 31% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HWhat to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| eProsimaFast-DDS | Affected
| Fixed in
|
GitHubeprosima/Fast-DDSpkg:github/eprosima/Fast-DDSOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Fixed versions are available: 2.6.12, 2.14.6, 3.2.4, 3.3.1, and 3.4.2. Users should upgrade to these or later versions to remediate the vulnerability. No vendor advisory content was provided to indicate alternative mitigations or temporary workarounds. Patch status is confirmed by the version information specifying fixed versions. No cloud service remediation applies as this is not a cloud service.
Description
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.
Impact
The vulnerability allows remote attackers to cause an out-of-bounds read, leading to leakage of adjacent heap memory. This memory disclosure can expose sensitive information such as pointer values, which may assist in bypassing address space layout randomization (ASLR) protections. The flaw does not impact integrity but has a high confidentiality impact and causes a denial of service (crash or instability) due to invalid memory access. The CVSS score is 9.1 (critical), reflecting network attack vector, low attack complexity, no privileges required, no user interaction, and high confidentiality and availability impacts.
Weaknesses
- CWE-125Out-of-bounds Read (opens in a new tab)
Base weaknessCWE Top 25 (2025): #8
The product reads data past the end, or before the beginning, of the intended buffer.
- CWE-131Incorrect Calculation of Buffer Size (opens in a new tab)
Base weaknessLikelihood of exploit: High
The product does not correctly calculate the size to be used when allocating a buffer, which could lead to a buffer overflow.