Fast-DDS: Unbounded GAP range triggers OOM DoS under RELIABLE QoS
Summary
Fast-DDS: Unbounded GAP range triggers OOM DoS under RELIABLE QoS
Original description
The description as published by the source.
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.
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Debian DEBIAN-CVE-2025-64438 fastdds
- Ubuntu UBUNTU-CVE-2025-64438 fastdds
References
- advisory github.com
- advisory nvd.nist.gov
- package github.com
- patch github.com
- patch github.com
- patch github.com
- web security-tracker.debian.org