1.7Low

CVE-2025-64438Fast-DDS: Unbounded GAP range triggers OOM DoS under RELIABLE QoS

eProsima Fast-DDS Published: (9 months ago)

Description

Fast DDS is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group ). Prior to versions 3.4.1, 3.3.1, and 2.6.11, a remotely triggerable Out-of-Memory (OOM) denial-of-service exists in Fast -DDS when processing RTPS GAP submessages under RELIABLE QoS. By sending a tiny GAP packet with a huge gap range (`gapList .base - gapStart`), an attacker drives `StatefulReader::processGapMsg()` into an unbounded loop that inserts millions of s equence numbers into `WriterProxy::changes_received_` (`std::set`), causing multi-GB heap growth and process termination. No authentication is required beyond network reachability to the reader on the DDS domain. In environments without an RSS limit (non-ASan / unlimited), memory consumption was observed to rise to ~64 GB. Versions 3.4.1, 3.3.1, and 2.6.11 patch t he issue.

Weakness (CWE): CWE-835

Data: CVE.org, NVD, CISA KEV, FIRST EPSS, Ubuntu. Published as the sources state it, in English.

Affected products and versions

VendorProductVersions
eProsima Fast-DDS 3.4.0 – < 3.4.1, 3.0.0 – < 3.3.1, < 2.6.11

References and patches

CPE matches (NVD) (3)

  • cpe:2.3:a:eprosima:fast_dds:*:*:*:*:*:*:*:* < 2.6.11
  • cpe:2.3:a:eprosima:fast_dds:*:*:*:*:*:*:*:* ≥ 3.0.0 < 3.3.1
  • cpe:2.3:a:eprosima:fast_dds:3.4.0:*:*:*:*:*:*:*