تخطى إلى المحتوى الرئيسي

ثغرة Gitea الحرجة: قراءة ملفات الخادم عن بعد بتقييم 9.8 CVSS

فريق جلتش
منذ ساعة0 مشاهدة5 دقائق
ثغرة Gitea الحرجة: قراءة ملفات الخادم عن بعد بتقييم 9.8 CVSS

أعلنت Gitea، منصة Git المستضافة ذاتياً، عن ثغرة حرجة لقراءة الملفات (CVE-2026-59774) في 5 أغسطس 2026، بتقييم CVSS يبلغ 9.8. تسمح الثغرة للمهاجمين غير المصادق عليهم بقراءة أي…

مقدمة تحليلية

أعلنت Gitea، منصة Git المستضافة ذاتياً، عن ثغرة حرجة لقراءة الملفات (CVE-2026-59774) في 5 أغسطس 2026، بتقييم CVSS يبلغ 9.8. تسمح الثغرة للمهاجمين غير المصادق عليهم بقراءة أي ملف يمكن لحساب الخدمة الوصول إليه على خوادم Gitea، وتؤثر على الإصدارات من 1.22.1 إلى 1.27.0. صدر الاستشاري الرسمي للثغرة في 2 أغسطس، وتم إصلاحها في الإصدار Gitea 1.27.1. لم تتطلب الثغرة أي تسجيل دخول أو صلاحيات كتابة للمستودع، بل اكتفت بمستودع عام ورمز Org-mode معد خصيصاً. يجب على مسؤولي الأنظمة المستضافة ذاتياً الترقية الفورية إلى 1.27.1. كما عالج الإصدار الجديد ثغرة تنفيذ التعليمات البرمجية عن بعد منفصلة (CVE-2026-60004)، مما يؤكد ضغطاً أمنياً متزايداً على المنصة.

التحليل التقني

يكمن الخلل التقني لـ CVE-2026-59774 في نقطة نهاية عرض الترميز (markup rendering endpoint) الخاصة بـ Gitea، وهي POST /{owner}/{repo}/markup. تسمح هذه النقطة بالوصول الاختياري للمستخدمين المسجلين، وتتحقق من صلاحيات القراءة للمستودع. يمر الطلب المجهول عبر هذا التحقق في أي مستودع عام مع تمكين وحدة الكود الخاصة به، مما يحد من التعرض غير المصادق عليه: فمثيل لا يحتوي على مستودعات عامة ليس لديه مسار هجوم مجهول عبر هذه النقطة.

تحديداً، يكمن الخلل في عارض Org-mode الخاص بـ Gitea. قام Gitea 1.27.0 بتهيئة مكتبة go-org باستخدام org.New دون استبدال وظيفة الاستدعاء الافتراضية ReadFile للمكتبة. في go-org 1.9.1، كانت وظيفة الاستدعاء هذه هي ioutil.ReadFile. يقبل توجيه #+INCLUDE الخاص بـ Org-mode مسارات مطلقة ويمررها مباشرة إلى وظيفة الاستدعاء، مما سمح للمهاجمين بتقديم ترميز Org-mode، واختيار Mode: file، وبالتالي تلقي محتويات الملفات التي يمكن لحساب خدمة Gitea قراءتها. تمت معالجة الثغرة في طلب السحب رقم 38642 وتم تطبيقها في طلب السحب رقم 38645، حيث يقوم Gitea الآن بتجاوز ReadFile بحيث يتم إرجاع مسار التضمين في Org-mode كمحتوى عادي معروض بدلاً من حله من نظام ملفات الخادم. وقد أضاف الإصلاح اختبار تراجع لعرض مسار التضمين.

مسار التصعيد المحتمل

  • القراءة الأولية: تسمح الثغرة بقراءة ملفات حساسة مثل app.ini.
  • استخراج الرمز: من خلال قراءة app.ini، يمكن للمهاجمين استخراج INTERNAL_TOKEN.
  • حقن الـ Git hook: استخدام الـ INTERNAL_TOKEN لحقن Git hook عبر مُسجل النظام الداخلي.
  • تفعيل الـ hook: تشغيل الـ Git hook أثناء استنساخ مجهول للمستودع (anonymous clone) لتنفيذ الأوامر.

هذا التسلسل، الذي وصفه Gitea في استشاريه الأمني (GHSA-6v53-hr58-556r)، لم يتم إثباته علناً بواسطة استغلال مستقل. تم اكتشاف CVE-2026-59774 بواسطة XBOW Security، وهو نظام أمني هجومي مستقل، وتمت مراجعته بواسطة Guido Leo، مع الإبلاغ المستقل عن نفس المشكلة من قبل Shai Rod (NightRang3r). لم تصدر Gitea إرشادات كشف رسمية، لكنها أوصت بمراجعة طلبات POST المجهولة إلى /{owner}/{repo}/markup، خاصة تلك التي تختار عرض Org-mode أو تقدم مسارات مطلقة لنظام الملفات. كما نُصحت بالتحقق من أدلة الـ hook للمستودعات بحثًا عن ملفات تنفيذية غير متوقعة.

السياق وتأثير السوق

تمثل CVE-2026-59774 أحدث حلقة في سلسلة من الثغرات الأمنية الحرجة التي أصابت Gitea، وهي منصة Git مفتوحة المصدر والمستضافة ذاتياً، والتي تتنافس بشكل مباشر مع حلول مثل GitLab Community Edition في بيئات الاستضافة الذاتية. بينما تقدم Gitea بديلاً خفيف الوزن ومفتوح المصدر، فإن تكرار الثغرات الأمنية الخطيرة يثير تساؤلات جدية حول مدى نضج عمليات المراجعة الأمنية لديها وقدرتها على توفير بيئة موثوقة للتعامل مع الكود الحساس. يأتي الكشف عن هذه الثغرة في أعقاب فترة مكثفة من العمل الأمني على Gitea.

في يونيو، عالجت Gitea ثغرة تجاوز مصادقة الوكيل العكسي الحرجة في صور Docker، وهي CVE-2026-20896، والتي لوحظ أن الجهات التهديدية تستغلها بعد 13 يوماً فقط من الكشف عنها. في مايو، تسببت ثغرة التحكم في الوصول إلى سجل الحاويات، CVE-2026-27771، في تقديرات تشير إلى أنها أثرت على أكثر من 30,000 عملية نشر عبر أكثر من 30 دولة. هذه الأنماط المتكررة من الثغرات الحرجة التي تؤثر على عشرات الآلاف من عمليات النشر وتُستغل بسرعة تُضعف الثقة في Gitea كخيار آمن للمؤسسات. لم يتم الإبلاغ عن استغلال CVE-2026-59774 في البرية، وحتى 5 أغسطس 2026، لم تظهر في كتالوج CISA للثغرات المستغلة المعروفة. ومع ذلك، فإن الإفصاح المسبق عن الثغرة (file-read primitive) قبل صدور الاستشاري الرسمي قد أوجد نافذة محتملة للاستغلال قبل توفر الإصلاح، مما يفرض ضغطاً إضافياً على مسؤولي الأنظمة لتطبيق التحديثات فوراً. إن الترقية إلى 1.27.1 ضرورية، لكنها قد لا تكون كافية بعد التعرض المشتبه به؛ إذ يلزم تدوير الرموز الداخلية ومواد OAuth وJWT وبيانات اعتماد قواعد البيانات إذا أظهرت السجلات وصولاً إلى نقطة نهاية Org-mode في الإصدارات المتأثرة.

رؤية Glitch4Techs

تؤكد الثغرة الأمنية CVE-2026-59774، بتقييم CVSS البالغ 9.8، على نمط مقلق من الإهمال الأمني المتكرر في Gitea. إن القدرة على قراءة ملفات الخادم غير المصادق عليها، مع توفر مسار تصعيد نظري إلى تنفيذ التعليمات البرمجية عن بعد، تمثل فشلاً أساسياً في حماية البيانات الحساسة للمستخدمين. يتفاقم هذا الوضع بتكرار الثغرات الحرجة الأخيرة، مثل CVE-2026-20896 التي استُهدفت بعد 13 يوماً من الكشف، وCVE-2026-27771 التي أثرت على أكثر من 30,000 عملية نشر. هذه السوابق لا يمكن تجاهلها. الوعود بالترقية التلقائية لنسخ Cloud لا تُعفي المسؤولين عن الأنظمة المستضافة ذاتياً من مخاطر التعرض، بل تُلقي عبئاً إضافياً عليهم. إن وصف Gitea نفسه لسلسلة التصعيد إلى تنفيذ الأوامر، وإن لم يتم إثباته علناً بعد، يؤكد أن هذه ليست مجرد ثغرة نظرية. بناءً عليه، تُظهر Gitea باستمرار ثغرات تسمح بالوصول غير المصادق عليه إلى الموارد، مما يُعرّض منصة Git المستضافة ذاتياً لمخاطر لا تتناسب مع دورها الحاسم في دورة حياة تطوير البرمجيات. إن الترقية وحدها غير كافية، فحتى بعد الإصلاح، يجب على المؤسسات التي تعرضت أن تعتبر جميع بيانات الاعتماد التي يمكن لحساب خدمة Gitea الوصول إليها قد تم اختراقها وتدويرها بالكامل. هذا ليس اختياراً، بل ضرورة يفرضها فشل Gitea في الحفاظ على الأمن الأساسي لمنصتها.

أعجبك المقال؟ شاركه

النشرة البريدية

كن أول من يعرف بمستقبل التقنية

أهم الأخبار والتحليلات التقنية مباشرة في بريدك.

مقالات قد تهمك