CVE-2023-24012

8.2 HIGH

📋 TL;DR

This vulnerability allows attackers with valid certificates to craft malicious DDS Participants or ROS 2 Nodes that can compromise secure DDS databus systems. The issue stems from improper PKCS#7 certificate validation in some DDS implementations, enabling attackers to gain full control of affected systems. Organizations using vulnerable DDS implementations with secure communication enabled are affected.

💻 Affected Systems

Products:
  • ROS 2 sros2
  • DDS implementations using vulnerable PKCS#7 validation
Versions: ROS 2 Humble Hawksbill and earlier versions with sros2
Operating Systems: Linux, Windows, macOS (any OS running affected DDS implementations)
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using DDS security features with certificate-based authentication. Non-secure DDS configurations are not vulnerable.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the DDS databus system, allowing attackers to intercept, modify, or inject messages, potentially leading to system takeover or data exfiltration.

🟠

Likely Case

Unauthorized access to secure DDS communications, enabling message interception, data manipulation, or denial of service against the databus.

🟢

If Mitigated

Limited impact with proper certificate validation and network segmentation, potentially only affecting isolated components.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires valid certificates and knowledge of DDS/ROS 2 systems. The vulnerability is in the certificate validation logic itself.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: ROS 2 Humble Hawksbill patch and later versions

Vendor Advisory: https://github.com/ros2/sros2/issues/282

Restart Required: No

Instructions:

1. Update ROS 2 to patched version. 2. Update sros2 package. 3. Regenerate security artifacts if using custom certificates. 4. Verify PKCS#7 validation is properly implemented.

🔧 Temporary Workarounds

Disable DDS Security

all

Temporarily disable DDS security features if not required, removing the vulnerable certificate validation path.

Set environment variable RMW_IMPLEMENTATION=rmw_fastrtps_cpp (without security)
Configure DDS to use non-secure transport

Network Segmentation

all

Isolate DDS traffic to trusted networks only, limiting exposure to potential attackers.

Configure firewall rules to restrict DDS ports (typically 7400-7500)
Use VLANs to segment DDS network traffic

🧯 If You Can't Patch

  • Implement strict network access controls to limit DDS traffic to trusted sources only.
  • Monitor DDS participant connections and certificate validation failures for suspicious activity.

🔍 How to Verify

Check if Vulnerable:

Check if using ROS 2 Humble or earlier with sros2 enabled, and verify if PKCS#7 certificate validation is implemented according to security standards.

Check Version:

ros2 --version && ros2 pkg list | grep sros2

Verify Fix Applied:

Verify ROS 2 version is patched, test certificate validation with invalid signatures to ensure proper rejection, and confirm sros2 package is updated.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected certificate validation successes
  • Multiple failed certificate validations followed by success
  • New DDS participants with unusual certificate attributes

Network Indicators:

  • Unusual DDS discovery traffic from untrusted sources
  • DDS security handshake anomalies
  • Traffic patterns inconsistent with normal DDS participant behavior

SIEM Query:

source="dds_logs" AND (event_type="certificate_validation" AND result="success") AND certificate_issuer NOT IN ["trusted_issuers"]

🔗 References

📤 Share & Export