Read the docs
TI-2026-18151 Aliases CVE-2026-22590

Fast-DDS Discovery Server: Out-of-Bounds Read & Heap Memory Disclosure via DATA_FRAG sampleSize / fragmentsInSubmessage

Priority HIGH 78CWE-125Published · Updated

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

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00539 45th percentileScored 2026-11-07
Fix Fixed Fast-DDS (eProsima): 2.6.12, 2.14.6, 3.2.4 +2

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

VendorProductAffected versionsFixed inStatusSource
eProsimaFast-DDSbefore 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.22.6.12, 2.14.6, 3.2.4, 3.3.1, 3.4.2Patch availableCNA
  • 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

  1. 2026-10-02 Threatist record created from CVE-2026-22590

References

  • 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
See all 31 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences