Alpine Linux يعيد بناء GitLab بعد محاولة استغلال ثغرة خطيرة
تعرضت البنية التحتية لتطوير Alpine Linux لمحاولة استغلال ثغرة حرجة في GitLab، مما دفع الفريق لإعادة بناء الخادم بالكامل وتغيير كلمات المرور كإجراء احترازي.
ما الذي حدث بالضبط؟
في يومي 20 و 21 أكتوبر، تعرضت البنية التحتية لتطوير Alpine Linux لمحاولة استغلال خطيرة. استهدف قراصنة ثغرة حرجة في GitLab، وهي ثغرة CVE-2026-97229، التي تُصنف كـ "تنفيذ أكواد عن بُعد" (RCE) بأقصى درجة خطورة.
تسببت هذه المحاولات المتكررة في تعطل عمليات GitLab، واقتربت بعضها من النجاح التام. لم يجد فريق Alpine Linux أي دليل قاطع على أن المهاجمين نجحوا في تنفيذ أكواد خبيثة أو العبث بحزم البرامج أو الإصدارات الخاصة بهم.
لكنهم لم يتمكنوا من استبعاد الاختراق الناجح بشكل كامل، وذلك بسبب نقص السجلات الضرورية وعدم وجود سجلات للاتصالات الخارجية التي يمكن أن تؤكد أو تنفي ذلك. هذا الغموض دفع فريق Alpine Linux لاتخاذ قرار صارم: "لأننا لا نستطيع استبعاد تنفيذ الكود، والأدلة التي نحتاجها لتأكيد ذلك لم تعد موجودة، فقد اخترنا الطريق الأصعب وأعدنا بناء نسخة GitLab من الصفر،" هكذا أوضح الفريق.
كانت المشكلة الأساسية أن Alpine Linux قد ثبت في البداية الإصدار 19.3.4 من GitLab، بدلاً من الإصدار المحدث الذي يحتوي على الإصلاح، وهو 19.3.5. حتى بعد الترقية إلى الإصدار 19.3.6، لم تُحل الثغرة بشكل كامل. لماذا؟ لأن الإصلاح كان يتطلب تحديثاً لمكتبة Ruby البرمجية، التي كانت GitLab تدمجها مع حزمها الرسمية، لكن صورة الحاوية المخصصة لـ Alpine لم تتضمن هذا التحديث.
في يومي 20 و 21 أكتوبر، قدم المهاجمون إعدادات CI خبيثة استهدفت الثغرة، مما تسبب في ثمانية أعطال لعمليات المعالجة. أربعة منها كانت ناجحة جزئياً، لكن لم يظهر أي منها وكأنه قد اكتمل تماماً. لاحظ فريق Alpine Linux أن المهاجمين قاموا بتنزيل صورة حاوية GitLab الخاصة بهم، مما يشير إلى أنهم ربما كانوا يخططون لهجوم على سلسلة التوريد.
بعد تحقيق شامل، لم يجد Alpine أي عبث في التزامات المستودع (repository commits)، أو الحزم، أو الإصدارات حتى تاريخ 27 أكتوبر. كما أكدوا أن مفاتيح التوقيع لم تتعرض لأي خطر، لأنها لا تُخزن على خادم GitLab. نُشرت صورة alpinelinux/gitlab:19.3.6 المحدثة في 27 أكتوبر، وهي تتضمن Ruby 3.3.13 وتعالج ثغرة CVE-2026-97229.
ما هي قصة GitLab وAlpine Linux؟
قد تتساءل: ما هو GitLab وما علاقته بـ Alpine Linux؟ GitLab هو منصة مفتوحة المصدر وشاملة تُستخدم في دورة حياة تطوير البرمجيات. تُقدم هذه المنصة خدمات مثل استضافة مستودعات الكود البرمجي، ومراجعات الأكواد، وإدارة مهام التكامل المستمر والتسليم المستمر (CI/CD). تخيلها كمركز قيادة للمطورين، حيث يتم بناء واختبار البرامج. يستخدم Alpine Linux نسخة من GitLab لاستضافة مستودعات التطوير الخاصة به، بما في ذلك "aports" التي هي وصفات بناء تُستخدم لإنتاج حزم برامج Alpine.
أما Alpine Linux نفسه، فهو نظام تشغيل صغير جداً وخفيف الوزن، معروف بتركيزه على الأمان والكفاءة. يُستخدم Alpine على نطاق واسع كأساس لصور حاويات Docker. هل تعرف حاويات Docker؟ إنها مثل صناديق صغيرة ومعزولة تحتوي على كل ما يحتاجه التطبيق ليعمل، وهي شائعة جداً في تشغيل التطبيقات والخدمات الحديثة.
الثغرة المستهدفة، CVE-2026-97229، هي ثغرة "تجاوز سعة الأعداد الصحيحة" (integer overflow) بالغة الخطورة. توجد هذه الثغرة في مجمع التعبيرات المنتظمة Onigmo الخاص بـ GitLab CI/CD، والذي يأتي مدمجاً مع لغة البرمجة Ruby. تسمح هذه الثغرة للمهاجمين، حتى لو لم يكونوا مصادق عليهم، بتنفيذ أكواد عشوائية على الخادم المستهدف، وذلك بتقديم تعبيرات منتظمة مصممة خصيصاً ضمن إعدادات مسار CI/CD.
كانت GitLab قد كشفت عن هذه الثغرة وأصدرت إصلاحات لها في 12 أكتوبر، محذرة من خطورتها وكيفية استغلالها.
لماذا يهم هذا الخبر؟ وماذا تفعل أنت؟
ربما تتساءل: وماذا يعني هذا كله بالنسبة لي؟ بما أن Alpine Linux هو حجر الزاوية للكثير من صور حاويات Docker، والتي تُستخدم لتشغيل عدد هائل من التطبيقات والخدمات حول العالم، فإن أي اختراق لبنيته التحتية يمكن أن يكون له تأثير واسع. تخيل أن أساس منزلك قد تعرض لخلل، هذا ما قد يحدث عندما تتعرض بنية تحتية مثل Alpine Linux للخطر، فقد تتأثر البرمجيات التي تعتمد عليه.
هذا يجعل خوادم GitLab الخاصة بـ Alpine هدفاً قيماً لما يُعرف بهجمات "سلسلة التوريد" (supply chain attacks)، حيث يستهدف المهاجمون مكوناً أساسياً للتسلل إلى أنظمة أخرى. إذا نجح استغلال الثغرة، فإن معلومات حساسة جداً قد تكون مكشوفة. هذه المعلومات تشمل تفاصيل المستخدمين، وكلمات المرور المشفرة (password hashes)، وأسرار المصادقة الثنائية (2FA secrets)، وبيانات CI/CD السرية، وبيانات اعتماد التكامل، ومحتوى المشاريع الخاصة.
رغم عدم تأكيد أي اختراق لهذه المعلومات حتى الآن، فإن المخاطر المحتملة كبيرة جداً. هذا الحدث يذكرنا جميعاً بأهمية تحديث البرمجيات باستمرار والانتباه للتفاصيل الفنية الدقيقة، مثل ضرورة تحديث مكتبة Ruby في هذه الحالة، وليس فقط تحديث التطبيق الرئيسي. ماذا يعني هذا لك؟ إذا كنت تستخدم Alpine Linux في بيئة عملك، أو في مشاريعك الشخصية التي تعتمد على Docker، فإن هذا الخبر يخصك مباشرة. حماية بياناتك تبدأ من فهم هذه المخاطر.
ماذا يعني هذا لك؟
- إذا كنت تستخدم GitLab أو صور Docker المبنية على Alpine Linux، فمن المهم أن تغير كلمات المرور الخاصة بك على الفور.
- تأكد من أنك تسحب وتستخدم أحدث صورة لـ alpinelinux/gitlab:19.3.6، والتي تحتوي على الإصلاحات الأمنية الضرورية.
- راجع سياسات التحديث الخاصة بك، وتأكد من تحديث جميع مكونات برامجك بشكل دوري، بما في ذلك التبعيات الداخلية مثل Ruby في هذه الحالة.

