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.
Problem types
CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')
Product status
3.4.0 (custom) before 3.4.1
3.0.0 (custom) before 3.3.1
Any version before 2.6.11
References
security-tracker.debian.org/tracker/CVE-2025-64438
github.com/...ommit/0b0cb308eaeeb2175694aa0a0a723106824ce9a7
github.com/...ommit/71da01b4aea4d937558984f2cf0089f5ba3c871f
github.com/...ommit/8ca016134dac20b6e30e42b7b73466ef7cdbc213