Skip to main content
← All vulnerabilities
CVE-2025-64438

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.4.1, 3.3.1, 2.6.11
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • eProsima Fast-DDS

    From 3.4.0 · fixed in 3.4.1; From 3.0.0 · fixed in 3.3.1; fixed in 2.6.11

References 4

security-tracker.debian.org

GitHub · eProsima/Fast-DDS