
بحث حول الباب الخلفي في XZ Utils CVE-2024-3094 - مصوّر سطح الهجوم، وفاحص ثغرات النظام، وأداة تقييم عام لثغرات CVE في Linux
من إعداد Nikolaos Natsopoulos، مستشار IAM
أداة تفاعلية قائمة على المتصفح ترافق تقرير البحث:
"CVE-2024-3094: اختراق سلسلة التوريد عبر الهندسة الاجتماعية والتلاعب بنظام البناء في XZ Utils"
في مارس 2024، تم اكتشاف باب خلفي في XZ Utils (CVE-2024-3094) قبل لحظات من أن يصل إلى توزيعات لينكس المستقرة حول العالم. وقد حصل على الحد الأقصى لدرجة CVSS البالغة 10.0. اشتمل الهجوم على مساهم وهمي أمضى ما يقرب من ثلاث سنوات في التسلل إلى المشروع قبل إدراج كود كان سيمكن من تنفيذ كود عن بُعد دون مصادقة على ملايين خوادم لينكس.
توفر هذه الأداة أمرين:
تتوفر نسخة مطورة من System Checker مع تغطية موسعة لثغرات CVE وميزات إضافية لتقييم الثغرات الأمنية في مجلد /CVE-Vulnerability-Assessment-Tool.
نزّل xz-toolkit_Visual_Checker.html وافتحه في أي متصفح. لا حاجة إلى تثبيت أو خادم أو اتصال بالإنترنت. كل شيء مكتفٍ ذاتيًا في ملف واحد.
تبويب Attack Visualiser - انقر على أي مرحلة في اللوحة اليسرى للتنقل عبر الخط الزمني للهجوم. يتم تحديث سلسلة التبعيات لإظهار مكان مسار الهجوم بالضبط في كل مرحلة. المراحل مرمّزة بالألوان: الأزرق للإعداد، والأصفر لعلامات التحذير، والأحمر للحقن، والأخضر للاكتشاف والاستجابة.
تبويب System Checker - شغّل هذه الأوامر الثلاثة على النظام الذي تريد تقييمه:
xz --version
ldd /usr/sbin/sshd
systemctl is-active ssh
الصق المخرجات في الحقول الثلاثة وانقر على Analyse System. تقيّم الأداة الشروط الخمسة المطلوبة للاستغلال وتصدر حكمًا مع تحليل تفصيلي لكل شرط. انقر على "Visualise this system's dependency chain" لرؤية ملف المكتبات الفعلي لنظامك معروضًا في مخطط السلسلة.
عرضة للاختراق بالكامل - Debian Sid مع XZ 5.6.1
إصدار XZ:
xz (XZ Utils) 5.6.1
liblzma 5.6.1
تبعيات sshd:
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
حالة SSH:
active (running) since Fri 2024-03-29 11:42:01 UTC
النتيجة المتوقعة: عرضة للاختراق - جميع الشروط الخمسة مستوفاة.
غير عرضة للاختراق - Ubuntu LTS مع XZ 5.4.6
إصدار XZ:
xz (XZ Utils) 5.4.6
liblzma 5.4.6
تبعيات sshd:
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3
libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
حالة SSH:
active (running) since Thu 2024-03-28 09:15:33 UTC
النتيجة المتوقعة: غير عرضة للاختراق - إصدار XZ آمن، وliblzma وlibsystemd غير موجودين في sshd.
غير عرضة للاختراق - Arch Linux مع XZ 5.6.0 (محمية معماريًا)
إصدار XZ:
xz (XZ Utils) 5.6.0
liblzma 5.6.0
تبعيات sshd:
libcrypto.so.3 => /usr/lib/libcrypto.so.3
libpam.so.0 => /usr/lib/libpam.so.0
libc.so.6 => /usr/lib/libc.so.6
حالة SSH:
active (running) since Sat 2024-03-30 08:22:11 UTC
النتيجة المتوقعة: غير عرضة للاختراق - XZ 5.6.0 هو الإصدار المزروع فيه الباب الخلفي، لكن النظام غير قابل للاستغلال لأن Arch Linux لا يطبق تصحيح sd_notify على OpenSSH، مما يعني أن liblzma لا يُربط أبدًا في sshd. كانت الثغرة خاصة بالبنية وليس بالإصدار فقط.
يجب استيفاء جميع الشروط الخمسة في وقت واحد ليكون النظام عرضة للاختراق:
من النتائج الرئيسية لتقرير البحث المرافق أن هذا الهجوم يمثل نموذج تهديد جديدًا لممارسي إدارة الهوية والوصول. لم يسرق الباب الخلفي بيانات الاعتماد أو يتجاوز ضوابط الوصول بالمعنى التقليدي - بل استبدل آلية المصادقة نفسها، حيث يعمل تحت مستوى PAM وRBAC وMFA وZero Trust. لم يكن أي ضابط IAM تقليدي ليمنع الاستغلال.
الضوابط التي كانت ستساعد: موافقة إصدار متعددة الأطراف، والتحقق من الفروقات بين tarball ومستودع git، ومراقبة سلامة الملفات الثنائية في وقت التشغيل (IMA/dm-verity)، واكتشاف الشذوذ في زمن استجابة مصادقة SSH.
حقوق الطبع والنشر (c) 2026 Nikolaos Natsopoulos. رخصة MIT.