CVE-2024-30916

7.1 HIGH

📋 TL;DR

A vulnerability in eProsima FastDDS versions 2.14.0 and earlier allows local attackers to cause denial of service and potentially leak sensitive information by manipulating the max_samples parameter in the DurabilityService QoS component. This affects systems using FastDDS for data distribution service communications. Attackers must have local access to exploit this vulnerability.

💻 Affected Systems

Products:
  • eProsima FastDDS
Versions: v2.14.0 and earlier
Operating Systems: All platforms running FastDDS
Default Config Vulnerable: ⚠️ Yes
Notes: Affects systems using DurabilityService QoS with max_samples parameter. All FastDDS applications using this component are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service disruption of FastDDS applications leading to system instability, potential memory corruption, and information disclosure of sensitive data in memory.

🟠

Likely Case

Denial of service affecting FastDDS-based applications, causing service interruptions and potential application crashes.

🟢

If Mitigated

Limited impact with proper access controls and monitoring, potentially causing temporary service degradation but no data compromise.

🌐 Internet-Facing: LOW - Requires local access to exploit, cannot be triggered remotely over network.
🏢 Internal Only: MEDIUM - Local attackers or compromised internal systems could exploit this to disrupt FastDDS services and potentially access sensitive information.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires local access and knowledge of the target system's FastDDS configuration. The vulnerability is in parameter validation logic.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v2.14.1 or later

Vendor Advisory: https://github.com/eProsima/Fast-DDS/issues/4609

Restart Required: Yes

Instructions:

1. Upgrade FastDDS to version 2.14.1 or later. 2. Recompile any applications using FastDDS with the updated library. 3. Restart all FastDDS services and applications.

🔧 Temporary Workarounds

Disable DurabilityService QoS

all

Remove or disable DurabilityService QoS configuration in FastDDS applications

Modify XML profiles or code to remove DurabilityService QoS settings

Access Control Restrictions

linux

Implement strict local access controls to prevent unauthorized users from interacting with FastDDS processes

chmod 750 /path/to/fastdds
setfacl -m u:fastddsuser:rx /path/to/fastdds

🧯 If You Can't Patch

  • Implement strict local user access controls to limit who can interact with FastDDS processes
  • Monitor system logs for unusual FastDDS process behavior or crashes

🔍 How to Verify

Check if Vulnerable:

Check FastDDS version: fastdds --version or examine linked library version in applications

Check Version:

fastdds --version 2>/dev/null || ldd $(which fastdds) 2>/dev/null | grep libfastdds

Verify Fix Applied:

Confirm FastDDS version is 2.14.1 or later and verify applications are linked against patched library

📡 Detection & Monitoring

Log Indicators:

  • FastDDS process crashes
  • Memory allocation errors in FastDDS logs
  • Unexpected termination of FastDDS services

Network Indicators:

  • Sudden loss of DDS communications
  • Missing heartbeat messages from FastDDS nodes

SIEM Query:

process_name:"fastdds" AND (event_type:"crash" OR exit_code:139)

🔗 References

📤 Share & Export