CVE-2026-22590 in Fast-DDS
الملخص
بحسب VulDB • 09/09/2026
يُعد eprosima Fast DDS تنفيذًا بلغة C++ لمعيار DDS (خدمة توزيع البيانات) الخاص بمجموعة إدارة الكائنات (OMG). تحتوي الإصدارات السابقة من 2.6.12، و2.14.6، و3.2.4، و3.3.1، و3.4.2 على ثغرة قراءة خارج الحدود (Out-of-Bounds Read) قابلة للتفعيل عن بُعد أثناء معالجة رسائل فرعية `DATA_FRAG` من بروتوكول RTPS. يمكن للمهاجم صياغة رسالة `DATA_FRAG` تحتوي على قيمة كبيرة لـ `sampleSize` ولكن حمولة فعلية صغيرة، وتعيين حقل `fragmentsInSubmessage` بحيث يعالج المستلم الحزمة باعتبارها الجزء الأخير (**LAST fragment**). في مسار معالجة الجزء الأخير هذا، يحسب Fast-DDS القيمة `incoming_length` بناءً على `sampleSize` ويستدعي دالة `memcpy()` دون التحقق من صحة الشرط `incoming_data.length >= incoming_length`. ونتيجة لذلك، تقوم الدالة `CacheChange_t::add_fragments()` بقراءة البيانات ما بعد نهاية مخزن بيانات UDP المستلم والانتقال إلى الذاكرة العشوائية (Heap) المجاورة، لنسخ تلك البايتات إلى مخزن إعادة التجميع. في نشر خادم الاكتشاف (Discovery Server)، يمكن تمرير كائن `CacheChange_t` الناتج إلى المشاركين الآخرين، مما يعني أن مشاركًا ينضم حديثًا قد يتلقى ذاكرة عشوائية مسربة (مثل قيم المؤشرات التي من شأنها المساعدة في تجاوز حماية ASLR). تُصلح الإصدارات 2.6.12، و2.14.6، و3.2.4، و3.3.1، و3.4.2 هذه الثغرة.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.