كشف بحث جديد عن وجود صور Docker على منصة Docker Hub تحتوي على الباب الخلفي الشهير XZ Utils، وذلك بعد أكثر من عام على اكتشاف الحادثة.
انتشار العدوى عبر الصور الأساسية المصابة
بحسب تقرير شركة Binarly Research، تم العثور على صور أخرى بُنيت اعتمادًا على هذه الصور الأساسية المصابة، مما ساعد في انتقال العدوى بشكل غير مباشر عبر سلسلة الإمداد البرمجية. وأكدت الشركة أنها اكتشفت ما مجموعه 35 صورة تحمل هذا الباب الخلفي، مما يبرز مجددًا حجم المخاطر التي تواجه سلسلة التوريد البرمجية.
بداية التحقيق واكتشاف الثغرة
أوضح أليكس ماتروسوف من Binarly أن التحقيق بدأ بعد رصد شيفرة خبيثة في بيئة أحد العملاء، ليتضح لاحقًا أن الصور المسحوبة من Docker Hub كانت مصدر الإصابة.
حادثة XZ Utils (المُعرفة بالثغرة CVE-2024-3094 ذات التقييم 10.0) ظهرت في مارس 2024، عندما حذّر أندريس فرويند من باب خلفي مدمج داخل الإصدارات 5.6.0 و5.6.1 من الأداة.
آلية عمل الباب الخلفي
أظهرت التحليلات أن الباب الخلفي قد يسمح بالوصول عن بُعد وتنفيذ أوامر بصلاحيات الجذر عبر بروتوكول SSH، حيث وُضع داخل مكتبة liblzma.so المستخدمة من قبل خادم OpenSSH، ويُفعّل عند تفاعل العميل مع الخادم المصاب.
من خلال اختطاف وظيفة RSA_public_decrypt عبر آلية IFUNC في مكتبة glibc، يمكن للمهاجم الذي يمتلك مفتاحًا خاصًا محددًا تجاوز المصادقة وتنفيذ أوامر إدارية عن بُعد.
مخطط طويل الأمد وراء الهجوم
أحد الاكتشافات البارزة أن التغييرات أُدخلت من قبل مطور باسم Jia Tan (JiaT75)، الذي أمضى نحو عامين في المساهمة في المشروع مفتوح المصدر لكسب الثقة حتى حصل على صلاحيات الإدارة. وصف خبراء Binarly العملية بأنها معقدة ومدروسة بعناية، مرجحين أن تكون برعاية دولة وبخطة متعددة السنوات.
استمرار التأثير على منظومة المصادر المفتوحة
أظهرت أبحاث Binarly الأخيرة أن تأثير الحادثة ما زال مستمرًا، حيث تم العثور على 12 صورة Debian Docker مصابة بباب خلفي XZ Utils، إضافة إلى صور أخرى بُنيت فوق هذه النسخ المصابة.
جدل حول الإبقاء على الصور المصابة
أبلغت الشركة القائمين على مشروع Debian، والذين صرّحوا بأنهم اختاروا الإبقاء على هذه النسخ لأسباب أرشيفية، معتبرين أن استغلالها في بيئة الحاويات أمر غير مرجح. لكن Binarly حذرت من أن بقاء صور Docker المصابة والمتاحة علنًا يُشكل خطرًا أمنيًا، خصوصًا مع توفر خدمة SSH على الأجهزة المستهدفة.
تحذير من بقاء الأكواد الخبيثة في النظام لفترات طويلة
أشارت الشركة إلى أن حادثة xz-utils تُظهر كيف يمكن حتى للشيفرات الخبيثة قصيرة العمر أن تبقى دون ملاحظة داخل صور رسمية لفترة طويلة، مما يسمح لها بالانتشار عبر بيئة Docker وخطوط CI، مؤكدة ضرورة المراقبة المستمرة على مستوى الشيفرات الثنائية، وليس الاكتفاء بتتبع الإصدارات.