دليل النشر

CVE-2026-85706 في ‎GitLab‎: تصحيح عاجل أو الهجرة إلى ‎Gitea

انشر على VPS Cloud ←

دليل عملي

CVE-2026-85706 في ‎GitLab‎: تصحيح عاجل أو الهجرة إلى ‎Gitea

الأمان والمراقبة9 دقائق للقراءةعدد الخطوات: 8

‎CVE-2026-85706‎ ثغرة اجتياز مسار غير مصادق عليها مُقيَّمة بـ ‎CVSS 10.0‎،‎ تؤثر على جميع نسخ ‎GitLab CE/EE‎ المستضافة ذاتياً بين الإصدارَين 18.7 و19.3.1. يمكن للمهاجم الذي يملك وصولاً بسيطاً عبر ‎HTTP‎ قراءة ‎secrets.yml‎ ومفاتيح ‎SSH‎ الخاصة بالـ ‎runners‎ ورموز ‎CI/CD‎ دون أي مصادقة. أضافت ‎CISA‎ هذه الثغرة إلى كتالوج ‎KEV‎ في العاشر من سبتمبر 2026،‎ مؤكدةً استغلالها النشط في البرية. التحديث إلى 19.3.2 فوراً أو الهجرة إلى ‎Gitea‎ للحد الدائم من سطح الهجوم.

المحتويات· CVE-2026-85706 — CVSS 10.0,‎ اجتياز مسار غير مصادق عليه1/10
  1. 01CVE-2026-85706 — CVSS 10.0,‎ اجتياز مسار غير مصادق عليه
  2. 02ما يمكن للمهاجم قراءته عبر اجتياز المسار
  3. 03من يتأثر — ومن لا يتأثر
  4. 04تصحيح ‎GitLab CE/EE‎ إلى الإصدار 19.3.2
  5. 05تدوير الأسرار بعد التعرض المحتمل
  6. 06قائمة التحقق بعد التصحيح
  7. 07بديل: الهجرة إلى ‎Gitea‎ على ‎VPS‎ للحد من سطح الهجوم
  8. 08نشر ‎Gitea‎ على ‎VPS ServOrbit‎ في 4 خطوات
  9. 09‎GitLab CE‎ المستضاف ذاتياً مقابل ‎Gitea‎ — معايير الأمان والتشغيل
  10. 10درس أمني: إدارة منصة ‎Git‎ على ‎VPS‎ بصلاحية ‎root‎

CVE-2026-85706 — CVSS 10.0,‎ اجتياز مسار غير مصادق عليه

‎CVE-2026-85706‎ ثغرة اجتياز مسار في مكوّن إدارة المستودعات في ‎GitLab CE‎ و‎EE‎. متجه ‎CVSS‎ هو ‎AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H‎ — لا مصادقة مطلوبة،‎ ولا تفاعل مع المستخدم،‎ وتأثير كامل على السرية والنزاهة والتوافر. عملياً،‎ يتيح طلب ‎HTTP‎ مشوَّه موجَّه إلى نقطة نهاية ‎API‎ أرشيفات المستودع للمهاجم اجتياز نظام ملفات نسخة ‎GitLab‎ والوصول إلى ملفات الإعدادات الحساسة خارج جذر المستودعات. نشر باحث ‎watchTowr‎ إثباتاً للمفهوم يعمل بعد وقت قصير من الإفصاح،‎ وأكدت فرق ‎Rapid7‎ وجود محاولات استغلال نشطة في بيانات ‎ETR‎. أدرجت ‎CISA‎ ‎CVE-2026-85706‎ في كتالوج الثغرات المستغلة المعروفة في العاشر من سبتمبر 2026.

ما يمكن للمهاجم قراءته عبر اجتياز المسار

  • ‎secrets.yml‎ — يحتوي على مفتاح التشفير ‎active_record_encryption‎ وبذور الرموز الداخلية؛ يتيح اختراقه فك تشفير قاعدة بيانات ‎GitLab‎ بأكملها
  • مفاتيح ‎SSH‎ الخاصة بـ ‎runners‎ الخاصة بـ ‎GitLab CI/CD‎ — تتيح تنفيذ الأوامر على عوامل البناء والتمحور نحو بيئات النشر
  • رموز ‎CI/CD‎ ومتغيرات البيئة المخزنة في الإعدادات — مفاتيح السحاب،‎ مفاتيح ‎API‎،‎ أسرار النشر المُحقَنة في خطوط الأنابيب
  • ملفات إعداد قاعدة البيانات (‎database.yml‎) — المضيف والمنفذ واسم القاعدة وبيانات اعتماد اتصال ‎PostgreSQL‎
  • بيانات جلسة ‎Redis‎ إذا كانت الإعدادات تشير إلى مقبس ‎Unix‎ يمكن الوصول إليه
  • محتوى أي ملف يمكن لمستخدم النظام ‎git‎ قراءته في شجرة النسخة

من يتأثر — ومن لا يتأثر

إصدارات ‎GitLab CE‎ و‎EE‎ من 18.7.0 إلى 19.3.1 شاملةً قابلة للاستغلال،‎ سواء مُثبَّتة عبر حزم ‎omnibus‎ أو مُنشَرة كحاوية ‎Docker‎ أو مُنشَرة عبر ‎Helm‎ على ‎Kubernetes‎. خدمة ‎GitLab.com‎ (الخدمة السحابية التي تستضيفها شركة ‎GitLab Inc.‎) جرى تصحيحها مسبقاً من قِبَل فريق ‎GitLab‎ قبل الإفصاح العلني — مستخدمو ‎GitLab.com‎ غير متأثرين ولا يحتاجون إلى أي إجراء. النسخ المستضافة ذاتياً فقط هي المعرَّضة. إصدارات ‎GitLab‎ السابقة للإصدار 18.7 غير متأثرة بهذا المتجه تحديداً،‎ لكنها منتهية الدعم ومعرَّضة لثغرات أخرى غير مُصحَّحة. النسخ المعزولة خلف جدار حماية أو ‎VPN‎ ليست محمية: المتجه هو ‎HTTP‎ على المنفذَين 80 و443،‎ ويكفي وصول شبكي داخلي لتشغيل الاستغلال.

تصحيح ‎GitLab CE/EE‎ إلى الإصدار 19.3.2

  1. نسخ احتياطي للنسخة قبل أي عملية

    شغِّل نسخاً احتياطياً كاملاً: ‎sudo gitlab-backup create STRATEGY=copy‎. تحقق من وجود الأرشيف في ‎/var/opt/gitlab/backups/‎ وانسخه إلى تخزين خارجي. لا تتخطَّ هذه الخطوة حتى في حالات الطوارئ.

  2. إيقاف ‎GitLab‎ وتحديث حزمة ‎omnibus‎

    على ‎Debian/Ubuntu‎: ‎sudo gitlab-ctl stop && sudo apt-get update && sudo apt-get install --only-upgrade gitlab-ee=19.3.2-ee.0 && sudo gitlab-ctl reconfigure && sudo gitlab-ctl start‎. على ‎RHEL/CentOS‎: استبدل ‎apt-get‎ بـ ‎yum update gitlab-ee-19.3.2‎. تحقق من الإصدار بعد إعادة التشغيل: ‎sudo gitlab-rake gitlab:env:info | grep GitLab‎.

  3. تحديث نسخة ‎Docker‎

    اسحب الصورة الجديدة: ‎docker pull gitlab/gitlab-ee:19.3.2-ee.0‎. أوقف الحاوية الموجودة: ‎docker stop gitlab‎. أعد تشغيلها بالصورة الجديدة مع الإبقاء على وحدات التخزين المُثبَّتة. انتظر اكتمال إعادة الضبط التلقائي قبل اختبار الوصول.

  4. التحقق من سلامة ما بعد التحديث

    شغِّل فحوصات الصحة المدمجة: ‎sudo gitlab-rake gitlab:check SANITIZE=true‎ و‎sudo gitlab-rake gitlab:doctor:secrets‎. إذا أفاد أيٌّ منهما بخلل في ‎secrets.yml‎،‎ فأجرِ فوراً تدوير الأسرار الموضَّح في القسم التالي.

تدوير الأسرار بعد التعرض المحتمل

إذا كانت نسختك مكشوفة على الإنترنت بين إصدار الإصدار 18.7 وتطبيق التصحيح — أو إذا كان لديك أدنى شك — فإن تدوير الأسرار إلزامي. التصحيح يوقف الاستغلال المستقبلي لكنه لا يُلغي بيانات الاعتماد التي جرى اختراقها. ابدأ بإعادة توليد مفتاح تشفير قاعدة البيانات: ‎sudo gitlab-rake gitlab:encrypted_secrets:rotate_key‎. ثم ألغِ وأعد توليد جميع رموز ‎runners CI/CD‎ من واجهة الإدارة،‎ وأعد ضبط كل عامل ‎runner‎ بالرمز الجديد. استبدل مفاتيح ‎SSH‎ المُنشَرة على ‎runners‎. راجع متغيرات ‎CI/CD‎ في كل مشروع وغيِّر جميع أسرار النشر.

قائمة التحقق بعد التصحيح

  • تأكيد الإصدار المُثبَّت: ‎sudo gitlab-rake gitlab:env:info | grep 'GitLab version'‎ يجب أن يُظهر 19.3.2
  • البحث عن مؤشرات الاختراق في سجلات ‎Nginx‎: أنماط طلبات تحتوي ‎../‎ مكرراً أو مشفَّراً
  • التحقق من اتصالات ‎SSH‎ غير متوقعة في ‎/var/log/auth.log‎ منذ تثبيت الإصدار 18.7
  • فحص النسخة بأداة الكشف التي نشرها ‎watchTowr‎ لتأكيد إغلاق المتجه
  • تفعيل المصادقة الثنائية الإلزامية لجميع حسابات المشرفين
  • التحقق من إرسال ترويسات أمان ‎HTTP‎ بشكل صحيح بعد التحديث
  • جدولة تدقيق أمني لصلاحيات المستودعات — قد يكون الاستغلال الناجح أنشأ حسابات مشرف مخفية

بديل: الهجرة إلى ‎Gitea‎ على ‎VPS‎ للحد من سطح الهجوم

‎GitLab CE‎ منصة ‎Git‎ متكاملة لكن بنيتها المتجانسة وقاعدة كودها الضخمة بـ ‎Ruby on Rails‎ توسّعان سطح الهجوم ميكانيكياً. ‎CVE-2026-85706‎ ليست حادثةً معزولة: شهد ‎GitLab‎ أربع ثغرات حرجة (‎CVSS ≥ 9.0‎) خلال الثمانية عشر شهراً الماضية. ‎Gitea‎ بديل مكتوب بـ ‎Go‎ في ملف تنفيذي واحد بصمة ذاكرته أصغر بعشر مرات تقريباً وتاريخه في الثغرات الحرجة أقصر بكثير. على خادم ‎VPS‎ بصلاحية ‎root‎،‎ تحتفظ بالتحكم الكامل في جدول التحديث والنسخ الاحتياطية وتدوير الأسرار دون الاعتماد على طرف ثالث. للفرق التي تحتاج أساساً إلى استضافة ‎Git‎ وطلبات السحب والـ‎webhook‎ وتكامل ‎CI‎ خفيف، يوفر ‎Gitea‎ الأساسيات مع سطح هجوم أصغر بكثير. تشمل الهجرة تصدير المستودعات والـ‎issues‎ والـ‎wiki‎ والأعضاء من ‎GitLab‎ عبر الـ‎API‎ ثم استيرادها في ‎Gitea‎ — عملية موثقة في مقال الهجرة المخصص.

نشر ‎Gitea‎ على ‎VPS ServOrbit‎ في 4 خطوات

  1. تهيئة ‎VPS‎ واختيار قالب ‎Gitea‎

    من بوابة العميل ‎ServOrbit‎،‎ أنشئ ‎VPS‎ جديداً (2 نواة على الأقل،‎ 2 غيغابايت ‎RAM‎ لفريق يصل إلى 20 مطوراً) واختر قالب تطبيق ‎Gitea‎. يهيئ القالب ‎Gitea‎ مع ‎systemd‎ ووكيل عكسي ‎Nginx‎ مع ‎TLS‎ تلقائي ونسخاً احتياطياً يومياً.

  2. ضبط النطاق و‎TLS‎

    وجِّه نطاقك الفرعي إلى ‎IP‎ الخادم عبر سجل ‎A‎. يكتشف نص ما بعد التثبيت النطاقَ ويطلب شهادة ‎Let's Encrypt‎ ويهيئ ‎Nginx‎ على ‎HTTPS‎ فقط مع ‎HSTS‎.

  3. استيراد المستودعات من ‎GitLab‎

    يتضمن ‎Gitea‎ معالج هجرة مدمجاً يقبل عنوان نسخة ‎GitLab‎ ورمز وصول شخصي. يستورد المستودعات والفروع والوسوم والمشكلات المفتوحة والويكيات. لأنظمة واسعة،‎ يتيح ‎gitea-cli migrate‎ أتمتة الاستيراد دُفعياً.

  4. ضبط ‎runners CI/CD‎ وإلغاء النسخة القديمة

    انشر ‎Forgejo Actions‎ أو وصِّل عامل ‎Gitea Act‎. حدِّث أسرار النشر في كل مستودع مُهاجَر. بمجرد التحقق من صحة خطوط الأنابيب على ‎Gitea‎،‎ ألغِ رموز نسخة ‎GitLab‎ القديمة وجدوِل إزالة ‎GitLab‎ لتحرير الموارد.

للنسخ الموجودة خلف ‎VPN‎ أو شبكة داخلية: لا تؤجل التصحيح بافتراض أن العزل الشبكي كافٍ. متجه ‎CVE-2026-85706‎ هو ‎HTTP‎ على المنفذَين 80 و443 — أي مستخدم لديه وصول إلى ‎VPN‎ أو أي جهاز مخترق على الشبكة الداخلية يمكنه تشغيل الاستغلال دون أي بيانات اعتماد ‎GitLab‎. التصحيح هو العلاج الوحيد الموثوق.

‎GitLab CE‎ المستضاف ذاتياً مقابل ‎Gitea‎ — معايير الأمان والتشغيل

مرّر الجدول أفقيًا

المعيارGitLab CE 19.xGitea 1.22.x
اللغة / المعماريةRuby on Rails + Go (هجين)Go — ملف تنفيذي واحد
الحد الأدنى لبصمة الذاكرة~2–4 غيغابايت RAM~150–300 ميغابايت RAM
ثغرات حرجة (CVSS ≥ 9) خلال 18 شهراً4 منها CVE-2026-857060
مصادقة ثنائية مدمجةنعمنعم
التحكم في جدول التصحيحأنت (استضافة ذاتية)أنت (استضافة ذاتية)
خدمة سحابية مُصحَّحة مسبقاًGitLab.com (مجاني)Gitea Cloud (تجريبي)
تكامل CI/CD أصليGitLab CI (كامل)Gitea Actions / Forgejo Actions
الهجرة من GitLabغير منطبقمعالج مدمج + API

درس أمني: إدارة منصة ‎Git‎ على ‎VPS‎ بصلاحية ‎root‎

توضح ‎CVE-2026-85706‎ مبدأً أساسياً في أمن البرمجيات المستضافة ذاتياً: نافذة التعرض بين الكشف عن ثغرة حرجة وتطبيق التصحيح هي الفترة الأخطر في حياة النسخة. على ‎GitLab.com‎،‎ كانت هذه النافذة معدومة — صحَّح فريق ‎GitLab‎ بصمت قبل الإفصاح. على نسخة مستضافة ذاتياً،‎ تعتمد النافذة كلياً على قدرتك على تلقّي التنبيه والاختبار والنشر بسرعة. ‎VPS‎ بصلاحية ‎root‎ يمنحك التحكم الكامل في هذه الدورة. على ‎VPS ServOrbit‎،‎ تتيح النسخ الاحتياطية التلقائية والوصول المباشر بصلاحية ‎root‎ الوفاءَ بهذا الجدول الزمني دون الاعتماد على خدمة مُدارة لا تتحكم في مواعيدها ولا إجراءاتها. يمكنك أتمتة تحديثات الأمان عبر ‎unattended-upgrades‎، وجدولة النسخ الاحتياطية اليومية، وتدوير الأسرار فور الحاجة — دون انتظار موافقة مزود الخدمة أو نافذة صيانة مجدولة مسبقاً لا تتحكم فيها.

انشر ‎Gitea‎ أو ‎GitLab‎ على ‎VPS‎ بصلاحية ‎root‎

على ‎VPS‎ بصلاحية ‎root‎،‎ صحِّح ‎GitLab‎ أو انشر ‎Gitea‎ عبر قالب ‎ServOrbit‎ — تدوير الأسرار والتحديثات تحت سيطرتك الكاملة. لا وسيط بينك وبين منصة ‎Git‎ الخاصة بك.

مقالات ذات صلة

الانتقال من ‎GitLab إلى ‎Gitea على ‎VPS في 2026
التطوير10 دقائق للقراءة

الانتقال من ‎GitLab إلى ‎Gitea على ‎VPS في 2026

فرضت ‎GitLab.com وضع القراءة فقط على المساحات التي تضم أكثر من 5 أعضاء منذ 15 أغسطس 2026. إليك كيفية الانتقال إلى ‎Gitea باستضافة ذاتية دون فقدان السجل.

قراءة المقال ←
تثبيت GitLab CE على VPS: دليل شامل
النشر17 دقيقةً للقراءة

تثبيت GitLab CE على VPS: دليل شامل

انشر GitLab CE على VPS باستخدام Docker Compose: منصة git كاملة، CI/CD مدمجة، سجل Docker خاص وإدارة مشاريع — self-hosted.

قراءة المقال ←
قائمة تصليب خادم لينكس للوكالات بعد التسليم
الأمان والمراقبة11 دقيقةً للقراءة

قائمة تصليب خادم لينكس للوكالات بعد التسليم

قائمة تدقيق لتصليب لينكس قابلة للتكرار للوكالات: auditd وsudo ومفتاح SSH وUFW وfail2ban وإلغاء تفعيل root — مع إمكانية التتبع لكل عميل.

قراءة المقال ←
Gitea مقابل GitLab: أي منصة Git مستضافة ذاتيًا على VPS؟
مقارنات10 دقائق للقراءة

Gitea مقابل GitLab: أي منصة Git مستضافة ذاتيًا على VPS؟

‎Gitea‎ مقابل ‎GitLab‎ المستضاف ذاتيًا في 2026: مقارنة الرخص وبصمة الذاكرة وCI/CD والهجرة والأمان لاختيار منصة ‎Git‎ على ‎VPS‎.

قراءة المقال ←
‏Gitea أم Forgejo أم GitLab CE: أيّ منصة Git في 2026؟
التطوير10 دقائق للقراءة

‏Gitea أم Forgejo أم GitLab CE: أيّ منصة Git في 2026؟

‏Gitea أم Forgejo أم GitLab CE لاستضافة منصة Git الخاصة بك في 2026؟ الموارد، CI/CD، الحوكمة والهجرة بعد CVE-2026-59774.

قراءة المقال ←

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـالعربية والفرنسية والإنجليزية.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة