CVE-2025-64438

7.5 HIGH

📋 TL;DR

CVE-2025-64438 is a remotely triggerable denial-of-service vulnerability in Fast DDS that allows unauthenticated attackers to cause out-of-memory conditions by sending specially crafted RTPS GAP submessages. This affects all systems running vulnerable versions of Fast DDS with RELIABLE QoS enabled, potentially leading to service disruption and process termination.

💻 Affected Systems

Products:
  • Fast DDS (formerly Fast RTPS)
Versions: All versions before 3.4.1, 3.3.1, and 2.6.11
Operating Systems: All platforms running Fast DDS
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects configurations using RELIABLE QoS. Best-effort QoS is not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service disruption with process termination due to memory exhaustion, potentially affecting critical DDS-based systems in industrial, automotive, or aerospace applications.

🟠

Likely Case

Denial of service affecting DDS communication channels, causing data loss and system instability in affected applications.

🟢

If Mitigated

Limited impact with proper network segmentation and memory limits, though some performance degradation may occur.

🌐 Internet-Facing: HIGH - No authentication required and network reachability is sufficient for exploitation.
🏢 Internal Only: HIGH - Internal attackers or compromised systems can exploit this without authentication.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires sending a specially crafted GAP packet with manipulated gap range values.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.4.1, 3.3.1, or 2.6.11

Vendor Advisory: https://github.com/eProsima/Fast-DDS/security/advisories

Restart Required: Yes

Instructions:

1. Identify Fast DDS version currently installed. 2. Upgrade to patched version (3.4.1, 3.3.1, or 2.6.11). 3. Recompile applications using Fast DDS. 4. Restart affected services.

🔧 Temporary Workarounds

Disable RELIABLE QoS

all

Switch to BEST_EFFORT QoS which is not vulnerable to this attack

Modify DDS QoS configuration to use BEST_EFFORT reliability

Implement memory limits

all

Set RSS limits to prevent complete memory exhaustion

ulimit -v [LIMIT_IN_KB] (Linux)
Set-ProcessMitigation (Windows)

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate DDS traffic from untrusted networks
  • Deploy network monitoring to detect and block malicious GAP packets with abnormal gap ranges

🔍 How to Verify

Check if Vulnerable:

Check Fast DDS version and verify if RELIABLE QoS is enabled in configuration

Check Version:

Check build configuration or use package manager: dpkg -l | grep fastdds (Debian/Ubuntu) or rpm -qa | grep fastdds (RHEL/CentOS)

Verify Fix Applied:

Verify version is 3.4.1, 3.3.1, or 2.6.11 or higher, and test with simulated GAP packets

📡 Detection & Monitoring

Log Indicators:

  • Rapid memory consumption spikes
  • Process termination due to OOM
  • Unusual GAP message patterns

Network Indicators:

  • GAP packets with abnormally large gap ranges
  • Sudden increase in DDS traffic to specific readers

SIEM Query:

source="fastdds.log" AND ("out of memory" OR "process terminated" OR "gap range")

🔗 References

📤 Share & Export