CVE-2024-30916
📋 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
- eProsima FastDDS
📦 What is this software?
Fast Dds by Eprosima
⚠️ 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.
🎯 Exploit Status
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
allRemove or disable DurabilityService QoS configuration in FastDDS applications
Modify XML profiles or code to remove DurabilityService QoS settings
Access Control Restrictions
linuxImplement 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)