Fast DDS is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group
). Prior to versions 3.4.1, 3.3.1, and 2.6.11, when the security mode is enabled, modifying the DATA Submessage within an
SPDP packet sent by a publisher causes an Out-Of-Memory (OOM) condition, resulting in remote termination of Fast-DDS. If t
he fields of PID_IDENTITY_TOKEN or PID_PERMISSION_TOKEN in the DATA Submessage — specifically by tampering with the length
field in readPropertySeq — are modified, an integer overflow occurs, leading to an OOM during the resize operation. Versi
ons 3.4.1, 3.3.1, and 2.6.11 patch the issue.
Fast DDS versions prior to 3.4.1, 3.3.1, and 2.6.11 contain a critical out-of-memory (OOM) vulnerability in security-enabled mode. An attacker can remotely trigger denial of service by tampering with DATA Submessage fields (PID_IDENTITY_TOKEN or PID_PERMISSION_TOKEN) in SPDP packets, causing integer overflow and process termination. This vulnerability affects distributed real-time systems commonly used in industrial IoT, autonomous systems, and critical infrastructure.
IMMEDIATE ACTIONS:
1. Identify all Fast DDS deployments in your environment using network scanning and software inventory tools
2. Prioritize systems with security mode enabled, as they are vulnerable
3. Isolate affected systems from untrusted networks if immediate patching is not possible
PATCHING GUIDANCE:
1. Upgrade Fast DDS to version 3.4.1, 3.3.1, or 2.6.11 or later immediately
2. For Debian systems (11, 12, 13), apply security updates from official repositories
3. Test patches in non-production environments first, particularly for critical OT systems
4. Coordinate patching with operational windows to minimize downtime
COMPENSATING CONTROLS (if patching delayed):
1. Implement network segmentation to restrict SPDP packet sources
2. Deploy firewall rules to limit DDS discovery traffic (UDP port 7400-7410) to trusted networks only
3. Monitor for abnormal SPDP packet patterns and OOM events
4. Disable DDS security mode temporarily if operationally feasible
DETECTION RULES:
1. Monitor for repeated process crashes of Fast DDS applications
2. Alert on memory exhaustion events correlated with SPDP traffic
3. Detect malformed SPDP packets with suspicious PID_IDENTITY_TOKEN or PID_PERMISSION_TOKEN length fields
4. Log and alert on DATA Submessage parsing errors in DDS middleware logs
الإجراءات الفورية:
1. تحديد جميع نشرات Fast DDS في بيئتك باستخدام أدوات المسح والمخزون
2. إعطاء الأولوية للأنظمة مع تفعيل وضع الأمان
3. عزل الأنظمة المتأثرة عن الشبكات غير الموثوقة إذا لم يكن الترقيع الفوري ممكناً
إرشادات الترقيع:
1. ترقية Fast DDS إلى الإصدار 3.4.1 أو 3.3.1 أو 2.6.11 أو أحدث فوراً
2. لأنظمة Debian (11، 12، 13)، تطبيق تحديثات الأمان من المستودعات الرسمية
3. اختبار التصحيحات في بيئات غير الإنتاج أولاً، خاصة لأنظمة OT الحرجة
4. تنسيق الترقيع مع نوافذ التشغيل لتقليل وقت التوقف
الضوابط البديلة (إذا تأخر الترقيع):
1. تنفيذ تقسيم الشبكة لتقييد مصادر حزم SPDP
2. نشر قواعد جدار الحماية لتحديد حركة اكتشاف DDS (منافذ UDP 7400-7410) للشبكات الموثوقة فقط
3. مراقبة أنماط حزم SPDP غير الطبيعية وأحداث OOM
4. تعطيل وضع أمان DDS مؤقتاً إذا كان ممكناً من الناحية التشغيلية
قواعد الكشف:
1. مراقبة أعطال العملية المتكررة لتطبيقات Fast DDS
2. تنبيه على أحداث استنزاف الذاكرة المرتبطة بحركة SPDP
3. كشف حزم SPDP المشوهة مع حقول PID_IDENTITY_TOKEN أو PID_PERMISSION_TOKEN المريبة
4. تسجيل والتنبيه على أخطاء تحليل DATA Submessage في سجلات وسيط DDS