CVE-2025-63829
📋 TL;DR
CVE-2025-63829 is an integer overflow vulnerability in eProsima Fast-DDS that causes an infinite loop in the Time_t::fraction() function. This allows attackers to cause denial of service by crashing or hanging applications using vulnerable Fast-DDS versions. Organizations using Fast-DDS v3.3 or earlier for real-time data distribution are affected.
💻 Affected Systems
- eProsima Fast-DDS
📦 What is this software?
Fast Dds by Eprosima
⚠️ Risk & Real-World Impact
Worst Case
Complete denial of service for all applications using Fast-DDS, potentially affecting critical real-time systems like robotics, autonomous vehicles, or industrial control systems.
Likely Case
Application crashes or hangs when processing maliciously crafted time data, disrupting data distribution services.
If Mitigated
Limited impact if applications have proper input validation and monitoring to detect and restart hung processes.
🎯 Exploit Status
Proof of concept available in GitHub gist. Exploitation requires sending malicious time data to vulnerable endpoints, which may be accessible without authentication in some configurations.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: v3.4 or later
Vendor Advisory: https://github.com/eProsima/Fast-DDS/security/advisories
Restart Required: Yes
Instructions:
1. Check current Fast-DDS version. 2. Update to v3.4 or later via package manager or source compilation. 3. Rebuild and restart all applications using Fast-DDS.
🔧 Temporary Workarounds
Input Validation Wrapper
allImplement input validation for time data before passing to Fast-DDS functions
// Code-level workaround: Validate time fraction values before calling Time_t functions
// Ensure fraction values are within safe integer bounds
🧯 If You Can't Patch
- Implement network segmentation to isolate Fast-DDS services from untrusted networks
- Deploy monitoring to detect and restart hung Fast-DDS processes automatically
🔍 How to Verify
Check if Vulnerable:
Check Fast-DDS version: dpkg -l | grep fastdds or rpm -qa | grep fastdds. If version is 3.3 or earlier, system is vulnerable.
Check Version:
fastdds --version 2>/dev/null || dpkg -l | grep fastdds || rpm -qa | grep fastdds || find /usr -name '*fastdds*' -type f | head -5
Verify Fix Applied:
Verify Fast-DDS version is 3.4 or later and test with known malicious time inputs to confirm no infinite loop occurs.
📡 Detection & Monitoring
Log Indicators:
- Process hanging/crashing logs
- High CPU usage without progress
- Timeout errors in Fast-DDS applications
Network Indicators:
- Unusual time data patterns in DDS traffic
- Repeated connection attempts with malformed packets
SIEM Query:
process_name:"fastdds" AND (event_type:crash OR cpu_usage:>90% FOR 5m)