تخطّي إلى المحتوى
nuDefend
← العودة إلى المدونة

ثغرة بتقييم CVSS 10 في GitLab: معنى «غير موثّق» يتوقف على من يستطيع إنشاء مشاريع على خادمك

·8 دقائق قراءة

إذا كنت تدير تثبيت GitLab ذاتيًا (self-managed) بإصدار من الفروع 19.2 أو 19.3 أو 19.4، فمن الأفضل التخطيط للتحديث اليوم. في 12 أكتوبر 2026، أصدرت GitLab إصدارات تصلح 24 ثغرة. إحداها تحمل تقييم CVSS 10.0: قد يؤدي تعبير نمطي مُعدّ خصيصًا ضمن إعداد CI/CD إلى تنفيذ تعليمات برمجية على خادم GitLab.

ذكرت العناوين أن مستخدمًا غير موثّق يستطيع تنفيذ تعليمات برمجية على الخادم. إعلان GitLab أكثر تحفظًا. فهو يقول إن ذلك ممكن «في ظروف معينة»، لكنه لا يوضح هذه الظروف. وبحسب The Hack Academy، يعتمد مسار الاستغلال الذي عرضته Rapid7 عند إعادة إنتاج الثغرة، ضمن أمور أخرى، على من يستطيع إنشاء مشاريع وكتابة إعدادات CI/CD على خادمك.

ما الذي أعلنته GitLab

بحسب إعلان التحديث التصحيحي من GitLab، صدرت في 12 أكتوبر 2026 الإصدارات 19.4.2 و19.3.5 و19.2.8 من Community Edition وEnterprise Edition. وتوصي GitLab بشدة بترقية كل تثبيت يُدار ذاتيًا فورًا إلى أحد هذه الإصدارات. وبحسب الإعلان، يعمل GitLab.com بالفعل بإصدار مصحّح، ولا يُطلب من عملاء GitLab Dedicated اتخاذ أي إجراء.

الثغرة الرئيسية هي CVE-2026-97229. يصفها الإعلان بأنها تجاوز لسعة عدد صحيح (integer overflow) في مُصرّف التعبيرات النمطية في CI/CD. وبحسب الإعلان، كان من الممكن أن تتيح الثغرة، في ظروف معينة، لمستخدم غير موثّق تنفيذ تعليمات برمجية عشوائية على خادم GitLab، باستخدام تعبير نمطي مُعدّ خصيصًا ضمن إعداد CI/CD. ويعزو الإعلان الثغرة إلى عدم كفاية التحقق من صحة التعبيرات النمطية.

  • الإصدارات المتأثرة: CE/EE، من 19.2 إلى ما قبل 19.2.8، ومن 19.3 إلى ما قبل 19.3.5، ومن 19.4 إلى ما قبل 19.4.2.
  • التقييم: Critical، ‏CVSS 10.0. بحسب متجه التقييم المنشور، يمكن استغلال الثغرة عبر الشبكة، وتعقيد الهجوم منخفض، ولا يتطلب صلاحيات أو إجراءً من المستخدم.
  • المبلّغ: joaxcar، عبر برنامج مكافآت اكتشاف الثغرات لدى GitLab على HackerOne.

تفاصيل أخرى في الإعلان تهمّ التخطيط للتحديث:

  • 19.3.5، وليس 19.3.4. بحسب الإعلان، احتوى الإصدار 19.3.4 على خلل أثّر في صفحات طلبات الدمج عند تفعيل تكامل Ona. أُصلح الخلل في 19.3.5.
  • بقية الإصلاحات. إلى جانب الثغرة الحرجة، يسرد الإعلان خمس ثغرات بتقييم High. منها ثغرة XSS في تمييز الصياغة (8.7)، وثغرة تتيح لمستخدم بدور Developer تشغيل مسارات CI/CD على فروع محمية دون تصريح (8.5). وبحسب الإعلان، تتيح ثلاث ثغرات بتقييم Medium لمستخدم غير موثّق قراءة تعليقات سرية أو محتوى عناصر عمل لا يُفترض أن يكون ظاهرًا له.
  • تصحيحات Ruby. تتضمن قائمة إصلاحات الأخطاء في الإصدارات الثلاثة تصحيحات للتعبيرات النمطية في Ruby 3.3 و3.4. ولا يربط الإعلان بينها وبين CVE صراحةً.
  • التفاصيل الكاملة بعد 90 يومًا. وفق سياسة GitLab، تُنشر تذاكر المشكلات التي تصف كل ثغرة بعد 90 يومًا من صدور الإصدار الذي أصلحها.
  • التوقف عن الخدمة. تتضمن الإصدارات عمليات ترحيل لقاعدة البيانات. في تثبيت يعمل على خادم واحد، سيؤدي التحديث إلى توقف الخدمة، لأن عمليات الترحيل يجب أن تنتهي قبل بدء تشغيل GitLab. أما في تثبيت متعدد الخوادم، فيمكن التحديث دون توقف، باتباع عملية zero-downtime. ويتضمن الإصدار 19.3.5 أيضًا عمليات ترحيل تُنفّذ بعد النشر.

لا يقترح الإعلان حلًا بديلًا مؤقتًا.

ماذا يعني «غير موثّق» عمليًا

لا توضح GitLab ماهية الظروف المعينة. وبحسب The Hack Academy، نشرت Rapid7 تحليلها الخاص في 13 أكتوبر. ووفق التقرير، أعاد باحثو Rapid7 إنتاج تنفيذ التعليمات البرمجية على الصورة الرسمية لـ GitLab 19.4.1 Community Edition، لكن المدخلات نفسها لم تؤدِّ إلى تنفيذ تعليمات برمجية على الصورة الرسمية للإصدار 19.4.2. وبحسب Rapid7، نُفّذت التعليمات البرمجية داخل عملية Ruby بحساب المستخدم git الخاص بـ GitLab.

بحسب The Hack Academy، تطلب مسار الاستغلال المعروض أن يتحكم المهاجم في إعداد CI/CD لمشروع عام، إلى جانب شروط أخرى تتعلق بالمشروع نفسه. وذكرت Rapid7 أنه على خادم يتيح التسجيل ويسمح للمستخدمين الجدد بإنشاء مشاريع، يكفي حتى حساب أُنشئ للتو لاستيفاء هذا الشرط. بعبارة أخرى، يشير وصف «غير موثّق» هنا إلى كل من يستطيع فتح حساب على خادمك. وبحسب التقرير، وصفت Rapid7 مسار استغلال واحدًا، ولم تدّعِ عدم وجود مسارات أخرى.

لمن لا يستطيع التحديث فورًا، اقترحت Rapid7 تقييد الوصول المجهول إلى المشاريع العامة، ومنع المستخدمين غير الموثوق بهم من إنشاء مشاريع عامة أو الكتابة فيها. وبحسب The Hack Academy، شددت Rapid7 على أن هذه الإجراءات تقلل التعرض لمسار الاستغلال الذي عرضته فقط. وهي لا تصلح المُصرّف المتأثر بالثغرة.

ما الذي لم تدقّق فيه التغطية

عنوان The Hacker News. عنوان المقال هو «GitLab تصلح ثغرة بتقييم CVSS 10.0 قد تتيح لمستخدمين غير موثّقين تنفيذ تعليمات برمجية على الخادم». يقتبس متن المقال الإعلان كاملًا، بما فيه قيد «في ظروف معينة»، لكن العنوان يحذفه. وقد يستنتج من يقرأ العنوان وحده أن أي شخص يستطيع الوصول إلى خادم GitLab متأثر بالثغرة يمكنه تنفيذ تعليمات برمجية عليه، بصرف النظر عن إعدادات الخادم. إعلان GitLab لا يقول ذلك. وبحسب إعادة الإنتاج التي أجرتها Rapid7، يعتمد مسار الاستغلال المعروض على إعدادات الخادم.

عدد الثغرات بتقييم High. يذكر مقال The Hacker News أن ثلاث ثغرات بتقييم High أُصلحت إلى جانب الثغرة الحرجة. لكن جدول GitLab يسرد خمسًا. وتتعلق الثغرتان الإضافيتان بـ Enterprise Edition فقط: CVE-2026-81839 (سياسة مجدولة لتشغيل مسارات CI/CD، ‏7.7)، وCVE-2026-96893 (حقن محتوى في تعليمات وكيل AI في Duo Agent Platform، ‏7.3). ومن يدير EE يحتاج إلى أخذهما في الحسبان أيضًا.

ما الذي لم يحدث

بحسب The Hack Academy، لم يبلّغ أي مصدر جرت مراجعته عن استغلال فعلي للثغرة CVE-2026-97229. وكتبت Rapid7 أنه حتى 13 أكتوبر، لا توجد أدلة مؤكدة على استغلالها في بيئات فعلية. وأفادت Cybersecurity Dive في 12 أكتوبر بأنه لم يكن واضحًا ما إذا كان المهاجمون قد بدأوا استغلال الثغرة، وأنها لم تُضف إلى كتالوج KEV التابع لـ CISA حتى صباح ذلك اليوم. هذه المعلومات تصحّ فقط حتى وقت نشرها. وبحسب The Hack Academy، أجرت Rapid7 إعادة الإنتاج في مختبرها، ولم تُنشر الشيفرة.

إعادة الإنتاج نفسها محدودة. فهي تُظهر نجاح مسار استغلال واحد، لا أنه المسار الوحيد. وما دامت التفاصيل الكاملة لم تُنشر، تبقى أسئلة مفتوحة. وبحسب The Hack Academy، لا يُعرف ما إذا كانت هناك مسارات استغلال أخرى، ولا السبب الجذري الكامل، ولا المؤشرات الموثوقة التي قد تدل على الاستغلال. يعكس تقييم CVSS شدة الثغرة، لا مدى تعرض خادمك لها. ويعتمد التعرض الفعلي على من يستطيع إنشاء مشاريع على الخادم، وعلى هوية المستخدمين الذين تُعالَج إعدادات CI/CD الخاصة بهم عليه.

لا تخلط بين هذه الثغرة وثغرات سابقة في GitLab. يذكر The Hacker News الثغرة CVE-2026-85706، وهي ثغرة سابقة بتقييم 10.0 جرت، بحسب المقال، محاولات لاستغلالها في بيئات فعلية خلال ساعات من الكشف عنها. وبحسب التغطية الصحفية، فهي ثغرة أخرى، لها سبب ونطاق إصدارات مختلفان. وما حدث بعد الكشف عنها لا يدل على ما حدث مع CVE-2026-97229، لكنه يذكّر بمدى قصر المدة التي قد تفصل بين الكشف عن ثغرة ومحاولات استغلالها.

ماذا يعني ذلك لخادمك

حدّث إلى الإصدار المناسب لفرعك

حدّث إلى 19.2.8 أو 19.3.5 أو 19.4.2. في الفرع 19.3، حدّث إلى 19.3.5 وليس إلى 19.3.4. إذا كنت تدير خادمًا واحدًا، فخطط لفترة توقف لتنفيذ عمليات الترحيل. وبعد التحديث، تحقّق من أن الإصدار الذي يعمل فعليًا هو الإصدار المصحّح.

تحقّق ممن يستطيع التسجيل وإنشاء المشاريع

بحسب إعادة الإنتاج التي أجرتها Rapid7، السؤال الحاسم هو ما إذا كان شخص من خارج فريقك يستطيع فتح حساب وكتابة إعداد CI/CD في مشروع عام. على خادم لفريق داخلي، لا يوجد عادةً سبب لإبقاء التسجيل مفتوحًا. تحقّق مما إذا كان التسجيل مفتوحًا، وما إذا كان المستخدمون الجدد يستطيعون إنشاء مشاريع، ومن يحق له إنشاء مشاريع عامة. ينبغي تقييد هذه الخيارات حتى بعد التحديث، لأنها تحدد مدى سرعة تمكّن أي شخص على الإنترنت من استغلال الثغرة التالية في CI/CD.

إذا كان التسجيل مفتوحًا، فراجع ما أُنشئ

على خادم كان التسجيل فيه مفتوحًا أثناء تشغيل الإصدار المتأثر بالثغرة، من المفيد مراجعة الحسابات والمشاريع العامة التي أُنشئت مؤخرًا، وإعدادات CI/CD الخاصة بها. هذه ليست مؤشرات استغلال منشورة: فبحسب التقارير، لا تزال هذه المؤشرات غير معروفة. لكنها نقطة بداية معقولة للفحص.

قيّد الوجهات التي يستطيع خادم GitLab الوصول إليها

بحسب Rapid7، نُفّذت التعليمات البرمجية بحساب المستخدم git. يحتاج خادم GitLab إلى اتصالات صادرة مشروعة، مثل استيراد المستودعات وwebhooks ونسخ المستودعات المتطابقة. احصر الوجهات التي يحتاج الخادم فعلًا إلى الاتصال بها، وقيّد الوصول إلى بقية الوجهات في جدار الحماية. وقد أُصلحت في حزمة التصحيحات نفسها أيضًا ثغرة SSRF في استيراد المستودعات، كانت تتيح، بحسب الإعلان، الوصول إلى موارد في الشبكة الداخلية. وهذا سبب إضافي لعزل خادم GitLab عن الشبكة الداخلية قدر الإمكان.

كيف يساعد nuDefend

يعمل nuDefend على خادم Linux لديك، ويشغّل طبقتي حماية مستقلتين. في طبقة الشبكة، تُحظر حركة المرور من عناوين IP المعروفة بأنها خبيثة وإليها في جدار الحماية على مستوى النواة. وتشمل هذه العناوين خوادم القيادة والتحكم لشبكات البوتات، والماسحات النشطة، والبنية التحتية للبرمجيات الخبيثة. وفي طبقة DNS، تُعطّل النطاقات الخطرة على مستوى النظام، بحيث لا يستطيع أي تطبيق على الخادم تحليل أسمائها أو الوصول إليها. قوائم التهديدات موقّعة تشفيريًا وتُحدّث تلقائيًا.

تعرض لوحة التحكم عدّادًا لحركة المرور الصادرة المحظورة. وقد تكون قيمة أعلى من صفر إنذارًا مبكرًا بأن شيئًا على الخادم حاول الاتصال بخادم خارجي.

يعرض الأمر nudefend expose كل خدمة تستمع للاتصالات على الخادم، ومن يستطيع الوصول إليها، من منظور الخادم نفسه. إذا أصبحت خدمة كانت داخلية فقط متاحة من الخارج، يرصد nuDefend التغيير وينبّه إليه. ويمكن حظر منفذ مكشوف من لوحة التحكم أو سطر الأوامر، بعد معاينة توضح بدقة ما سيُحظر. وإذا كان مستخدمو خادم GitLab لديك موجودين في عدد محدود من الدول، فيمكنك أيضًا استخدام الحظر حسب الدولة، والسماح بالوصول من الدول التي تختارها فقط. تتوفر تفاصيل إضافية في التوثيق.

الخلاصة

تحمل CVE-2026-97229 تقييم 10.0، وتوصي GitLab بالتحديث فورًا. حدّث إلى 19.2.8 أو 19.3.5 أو 19.4.2. يشترط الإعلان «ظروفًا معينة» للاستغلال. وبحسب إعادة الإنتاج التي أجرتها Rapid7، يتطلب مسار الاستغلال المعروض القدرة على التحكم في إعداد CI/CD ضمن مشروع عام. وبحسب The Hack Academy، ذكرت Rapid7 أنه على خادم يتيح التسجيل ويسمح للمستخدمين الجدد بإنشاء مشاريع، يكفي لذلك حتى حساب أُنشئ للتو. بعد التحديث، تحقّق ممن يستطيع التسجيل وإنشاء مشاريع على خادمك، وقيّد الوجهات التي يستطيع خادم GitLab الوصول إليها.

بحسب Rapid7، تُنفّذ الشيفرة التي تستغل الثغرة على خادم GitLab بحساب المستخدم git. مع nuDefend، تُحظر حركة المرور من الخادم إلى العناوين والنطاقات المعروفة بأنها خبيثة في جدار الحماية على مستوى النواة. ويُعرض حظر حركة المرور الصادرة في لوحة التحكم بوصفه إنذارًا مبكرًا.

اقرأ كيف تعمل طبقتا الحماية في nuDefend.

مشاركةWhatsAppXLinkedInFacebook

جاهز لحماية خوادمك مع nuDefend؟