بتشغّل GitLab على سيرفرك؟ ثغرة 10/10 بتنفّذ كود بلا تسجيل دخول
GitLab سكّرت يوم 21 تشرين الأول 2026 ثغرة CVE-2026-110264 بعلامة 10، وهي بتطال كل نسخة من 7.0. إذا رقّيت يوم 12 تشرين الأول، لسا لازم توصل لـ 19.5.1 أو 19.4.3 أو النسخة المصلّحة لفرعك.

إذا عندك GitLab مثبّت على سيرفرك (self-managed)، رقّيه اليوم للنسخة المصلّحة لفرعك من إصدار 21 تشرين الأول 2026، حتى لو رقّيته يوم 12 تشرين الأول. الثغرة الجديدة علامتها 10 من 10، وبتطال كل نسخة من 7.0، وما إلها حل مؤقت. بآخر المقال رح تعرف نسختك، والنسخة يلي لازم توصلها، وكيف ترقّي بلا ما تخسر بياناتك.
شو هي ثغرة CVE-2026-110264؟
ثغرة CVE-2026-110264 بـ GitLab CE وEE بتخلي مستخدم بلا تسجيل دخول ينفّذ كود على السيرفر بشروط معينة، وGitLab ما شرحت شو هي هالشروط. سببها تجاوز عددي (integer overflow) وقت تجميع تعبير نمطي (regular expression) مصنوع بطريقة خاصة.
التجاوز العددي يعني رقم بيكبر أكتر من المساحة المحجوزة إله بالذاكرة فبيرجع لقيمة غلط، وبالكود المكتوب بلغة متل C هالغلط ممكن يوصل لتنفيذ كود. صفحة الإصدار تبع GitLab بتعطيها علامة CVSS 10.0 بهالقيم:
الجزء | القيمة | شو بتعني |
|---|---|---|
AV:N | الشبكة | الهجوم بيوصل من الشبكة |
AC:L | منخفض | ما بدها ظروف صعبة |
PR:N | ولا صلاحية | المهاجم ما بيحتاج حساب |
UI:N | ولا تفاعل | ما حدا من فريقك لازم يضغط شي |
S:C | بيتغيّر النطاق | الأثر بيطلع برّا المكوّن المصاب |
C:H/I:H/A:H | عالي | قراءة وتعديل وتعطيل كامل |
جدول الثغرات بصفحة الإصدار ما بيسمّي المكوّن، بس سجل الإصلاحات بنفس الصفحة فيه بند اسمه Add Ruby regexp repeat ID overflow patch، ووحدة من قاعدتين كشف نشرتهن GitLab اسمها Onigmo native worker crash. وOnigmo هي مكتبة التعبيرات النمطية الافتراضية بـ Ruby من Ruby 2.0 حسب صفحة المشروع، وتغطية The Hacker News بتسمّيها هي المكوّن المصاب. القاعدة التانية اسمها Org mode render error burst، وGitLab ما قالت إنو ملفات Org mode هي طريق الهجوم. يلي بلّغ عن الثغرة باحث اسمه joaxcar عن طريق HackerOne.
سيرفر GitLab فيه كود الشركة، وأسرار الـ CI/CD، والتوكنات يلي بتنشر عالإنتاج. يلي بينفّذ كود عليه بيقدر يقرا هالأسرار أو يعدّل مشروع بيتبنى وبينتشر منه. ونفس الخطر موجود بمقال حماية GitHub Actions إذا حدا غيّر الـ tag تبع action: يلي بيقدر يغيّر خط البناء بيقدر يغيّر الكود يلي بيوصل عالإنتاج.
ليش تحديث 12 تشرين الأول ما بيكفي؟
تحديث 12 تشرين الأول سكّر ثغرة تانية، CVE-2026-97229، بنسخ 19.4.2 و19.3.5 و19.2.8. الثغرة الجديدة لسا موجودة بهالنسخ، لأنها بتطال 19.4 قبل 19.4.3، و19.3 قبل 19.3.6، و19.2 قبل 19.2.9.
الثغرتين علامتهن 10.0، والتنتين تجاوز عددي بتجميع التعبيرات النمطية، بس طريقهن مختلف. حسب صفحة إصدار 12 تشرين الأول، CVE-2026-97229 بتمرق من تعبير نمطي جوّا إعدادات الـ CI/CD، وكانت بتطال 19.2 لـ 19.4 بس. أما CVE-2026-110264 فبتطال كل نسخة من 7.0، يعني من حزيران 2014 حسب تاريخ tag النسخة بريبو GitLab.
GitLab نزّلت الإصلاح على سبع فروع بنفس اليوم: الإصدارات المعتادة 19.5.1 و19.4.3 و19.3.6، وفوقهن نقلت الإصلاح لفروع أقدم هي 19.2 و19.1 و19.0 و18.11. إذا كنت مرتاح لأنك على نسخة قديمة وتحديث 12 تشرين الأول ما كان إلك، هالمرة إلك.
مين لازم يرقّي، ولأي نسخة؟
كل سيرفر GitLab CE أو EE بتديره إنت لازم يرقّي للنسخة المصلّحة لفرعه. GitLab.com عليه الإصلاح، وزبائن GitLab Dedicated على 19.3.5-internal0 أو 19.4.2-internal0 أو أحدث عندهم الإصلاح.
فرعك | النسخة المصلّحة |
|---|---|
19.5 | 19.5.1 |
19.4 | 19.4.3 |
19.3 | 19.3.6 |
19.2 | 19.2.9 |
19.1 | 19.1.9 |
19.0 | 19.0.10 |
من 7.0 لحد 18.11 | 18.11.13 |
نفس الإصدار بيسكّر 11 ثغرة تانية. أخطرهن CVE-2026-15723 (عالية، 8.2): إذا مفعّل عندك OmniAuth SAML والربط التلقائي مع LDAP سوا، مستخدم عنده حساب بيقدر ياخد حساب LDAP موجود بلا ما صاحبه يعمل شي. إصلاحها بـ 19.3.6 و19.4.3 و19.5.1 بس، فإذا عندك هالإعداد، النسخ الأقدم بالجدول ما بتكفيك.
كيف بتعرف نسخة GitLab عندك؟
على سيرفر مثبّت بحزمة Linux الرسمية (Omnibus)، أمر gitlab:env:info بيطبع قسم GitLab information، وفيه سطر Version بنسختك. قارنها بالجدول فوق.
sudo gitlab-rake gitlab:env:infoالأمر من توثيق مهام الصيانة. بمثال التوثيق السطر بيطلع Version: 15.5.5-ee، والرقم قبل الشحطة هو يلي بتقارنه بالجدول، لأن CE وEE إلهن نفس النسخ المصلّحة. وإذا نسختك أقدم من النسخة المصلّحة لفرعها بالجدول، سيرفرك متأثر.
كيف ترقّي بلا ما تخسر شي؟
خود نسخة احتياطية مع ملفات الإعدادات، بعدين رقّي للنسخة المصلّحة لفرعك. إذا نسختك قديمة كتير، لازم تمرق على محطات ترقية إجبارية قبل ما توصل.
أول شي النسخة الاحتياطية. هالأمر بيعمل ملف نسخة بمجلد النسخ الاحتياطية تبع GitLab:
sudo gitlab-backup createبعدها:
انسخ ملفات الإعدادات لحالها. توثيق النسخ الاحتياطي بيقول إنو أمر النسخ ما بيحفظ الإعدادات، وأقل شي لازم تحفظ
/etc/gitlab/gitlab-secrets.jsonو/etc/gitlab/gitlab.rb. ملف الأسرار فيه مفتاح تشفير قاعدة البيانات، وإذا ضاع، GitLab ما بيقدر يفكّ القيم المشفّرة متل متغيرات الـ CI/CD وبيانات التحقق بخطوتين.احسب طريق الترقية بـ أداة Upgrade Path. حسب صفحة محطات الترقية، محطات GitLab 18 هي 18.2 و18.5 و18.8 و18.11، ولازم تخلّي ترحيلات الخلفية تخلص عند كل محطة قبل الجاية. بيطلع معك ترتيب النسخ يلي لازم تمرق عليها.
رقّي بطريقة التثبيت تبعك. هالإصدار فيه ترحيلات لقاعدة البيانات، فالسيرفر الواحد بيوقف لحد ما تخلص. السيرفرات المتعددة بتقدر ترقّي بلا توقف بطريقة GitLab للترقية بلا توقف.
شغّل
sudo gitlab-rake gitlab:env:infoمن جديد، وتأكد إنو سطر Version صار على النسخة المصلّحة.
هل في حدا عم يستغل الثغرة هلق؟
لحد 23 تشرين الأول 2026، ما في استغلال معلن لـ CVE-2026-110264، والثغرة مش موجودة بكتالوج CISA للثغرات المستغلة المعروفة.
آخر نسخة من الكتالوج هي 2026.10.23 وما فيها الثغرة، وThe Hacker News نقلت إنو GitLab ما شافت أي علامة استغلال. صفحة الإصدار نفسها ما بتحكي عن الاستغلال، بس GitLab نشرت معها قاعدتي الكشف يلي فوق لحتى تراقب سيرفرك. ونفس الكتالوج فيه 5 ثغرات GitLab انستغلت من قبل، آخرهن CVE-2026-85706 يلي انضافت يوم 11 أيلول 2026.
من وين تبلّش هلق؟
شغّل أمر النسخة على سيرفرك هلق، وإذا طلعت أقدم من الجدول، خود النسخة الاحتياطية ورقّي اليوم. ما في حل مؤقت تتكّل عليه بالنص.
بعد الترقية، شوف حسابات المدراء والمستخدمين الجداد. وإذا شكّيت إنو حدا دخل قبل ما ترقّي، اعتبر أسرار الـ CI/CD يلي بـ GitLab مكشوفة، وغيّرها بالترتيب يلي بـ مقال اختراق Railway: قواعد البيانات أول، وتوكنات النشر آخر شي. وإذا عم ترقّي سيرفراتك هالشهر، شوف كمان ثغرات NGINX يلي انسكّرت بتشرين الأول.
وإذا بدك حدا يفحص منصتك من برّا متل ما بيشوفها المهاجم، هاد شغل مُحَصَّن.
أسئلة شائعة
بستعمل GitLab.com، لازم أعمل شي؟
لأ. GitLab كتبت إنو GitLab.com صار عليه الإصلاح. وزبائن GitLab Dedicated يلي على 19.3.5-internal0 أو 19.4.2-internal0 أو أحدث عندهم الإصلاح كمان.
رقّيت يوم 12 تشرين الأول، أنا محمي؟
لأ. تحديث 12 تشرين الأول (19.4.2 و19.3.5 و19.2.8) سكّر ثغرة تانية هي CVE-2026-97229. الثغرة الجديدة موجودة بكل 19.4 قبل 19.4.3، يعني 19.4.2 لسا متأثرة، ولازم ترقّي لنسخة 21 تشرين الأول.
في حل مؤقت إذا ما بقدر رقّي اليوم؟
لأ. صفحة الإصدار ما فيها أي حل مؤقت، فالترقية هي الحماية الوحيدة يلي بتعطيها GitLab. إذا لازم تستنى ساعات، قلّل مين بيوصل لواجهة GitLab من الشبكة لحد ما ترقّي، بس هاد مش بديل عن الترقية.
ثغرة LDAP بنفس الإصدار بتخصّني؟
بس إذا مفعّل عندك OmniAuth SAML والربط التلقائي مع LDAP سوا. وإصلاحها موجود بـ 19.3.6 و19.4.3 و19.5.1، فإذا عندك هالإعداد ورقّيت لـ 18.11.13 أو 19.0.10 أو 19.1.9 أو 19.2.9، لسا لازم توصل لـ 19.3.6 أو أحدث.
قديش بيوقف GitLab وقت الترقية؟
على سيرفر واحد، GitLab بيوقف لحد ما تخلص ترحيلات قاعدة البيانات، لأن هالإصدار فيه ترحيلات. السيرفرات المتعددة بتقدر ترقّي بلا توقف إذا مشيت على طريقة الترقية بلا توقف تبع GitLab.


