ثغرة جيت لاب الجديدة تعيد التحذير من مخاطر تأخير التحديثات، بعدما نُشر كود استغلال عملي يسمح لمستخدم موثّق بتنفيذ أوامر على الخادم.
ما هي ثغرة جيت لاب الجديدة ولماذا تُعد خطيرة؟
تكمن خطورة ثغرة جيت لاب في أنها لا تحتاج إلى صلاحيات مدير النظام ولا إلى وصول إلى CI أو Runner، بل يكفي أن يمتلك المهاجم حساباً موثّقاً مع قدرة على رفع التعديلات إلى مشروع داخل الخادم المتأثر.
السيناريو يعتمد على رفع ملفات Jupyter Notebook مصممة بعناية، ثم فتح فرق التعديلات الخاص بها، ما يؤدي إلى تسريب مؤشرات من الذاكرة يمكن استغلالها لاحقاً لتحديد مواقع المكتبات داخل الذاكرة وتشغيل الحمولة الخبيثة.
كيف تعمل سلسلة الاستغلال داخل خوادم جيت لاب؟
وفقاً لمراجعة تيكبامين، تعتمد السلسلة على مشكلتين في الذاكرة داخل مكتبة Oj الخاصة بتحليل JSON في روبي، وهي مكتبة مستخدمة في معالجة ملفات الدفاتر داخل جيت لاب.
ماذا يفعل المهاجم عملياً؟
- يرفع ملف Notebook خبيثاً إلى مشروع يملك صلاحية التعديل عليه.
- يفتح صفحة Commit Diff للحصول على تسريب من الذاكرة.
- يستخدم التسريب لتحديد مواقع مكتبات النظام داخل الذاكرة.
- يرفع ملفات إضافية لتوجيه التنفيذ نحو دالة system().
- تُنفذ الأوامر بصلاحيات المستخدم git المسؤول عن Puma.
الأخطر أن التنفيذ يتم داخل عملية التطبيق نفسها، ما يمنح المهاجم مساحة أوسع للوصول إلى بيانات حساسة وخدمات داخلية مرتبطة بالخادم.
ما الإصدارات المتأثرة من ثغرة جيت لاب؟
الإصدارات المتأثرة تشمل النسخ ذاتية الاستضافة التي لم تحصل على التحديثات اللازمة، مع تأثير يمتد إلى مختلف الفئات من CE وEE، من الخطط المجانية حتى Ultimate.
- الإصدار الآمن المقترح: 18.10.8
- الإصدار الآمن المقترح: 18.11.5
- الإصدار الآمن المقترح: 19.0.2
- الإصدار 18.11.3 غير المحدّث معرّض للاستغلال المباشر.
- السلاسل من 15.2 حتى 18.9 خارج مسارات الدعم الأمني الحالية وتتطلب الترقية لإصدار مدعوم.
ومن المهم هنا التحقق من نسخة جيت لاب الموجودة داخل صورة Webservice التي تشغّل Puma، لا الاكتفاء بمراجعة إصدار Helm Chart أو الـ Operator فقط، لأن هذا قد يعطي انطباعاً مضللاً عن مستوى الحماية الفعلي.
ما المخاطر بعد استغلال ثغرة جيت لاب على الخادم؟
تنفيذ الأوامر يتم بحساب git، لكن حجم الضرر يعتمد على طريقة عزل البيئة داخل الشركة أو مركز البيانات. في بعض الحالات قد يصل المهاجم إلى الشيفرة المصدرية، وأسرار Rails، وبيانات CI/CD، وبيانات اعتماد خدمات داخلية.
ما الذي يجب على المسؤولين فعله الآن؟
- تحديث الخوادم فوراً إلى أحد الإصدارات المصححة.
- مراجعة السجلات بحثاً عن رفع ملفات Notebook غير معتادة.
- فحص عزل المستخدم git وصلاحياته داخل البنية.
- التحقق من الخدمات الداخلية التي يستطيع التطبيق الوصول إليها.
في النهاية، تُظهر ثغرة جيت لاب أن تجاهل تحديث يبدو عادياً قد يفتح الباب لهجوم شديد الخطورة، ولهذا تنصح تيكبامين بالتعامل مع هذا الخلل كأولوية عاجلة لكل من يدير خوادم GitLab ذاتية الاستضافة.