-
أثناء التحقيق في إصابة برنامج ضار بأحد أعباء عمل العملاء، اكتشفت Wiz Research ثغرة أمنية نشطة في يوم الصفر في Gogs، وهي خدمة Git شائعة الاستضافة ذاتيًا.
-
يسمح تجاوز الارتباط الرمزي (CVE-2025-8110) لـ RCE الذي تم تصحيحه مسبقًا (CVE-2024-55947) للمستخدمين المعتمدين بالكتابة فوق الملفات خارج المستودع، مما يؤدي إلى تنفيذ التعليمات البرمجية عن بعد (RCE).
-
لقد حددنا أكثر من 700 حالة مخترقة تواجه الجمهور على الإنترنت.
-
التحديث: اعتبارًا من 23 يناير 2026، تم إصدار إصلاح في الإصدار v0.13.4.
في 10 يوليو، لاحظ فريق Wiz Threat Research نتائج البرامج الضارة في المثيلات العامة لـ Gogs، وهي خدمة Git شعبية مستضافة ذاتيًا. ما بدأ كتحقيق روتيني في جهاز مصاب تحول إلى اكتشاف عرضي لثغرة أمنية يومية.
أثناء تحليلنا لمحاولات الاستغلال، حددنا أن جهة التهديد كانت تستغل ثغرة لم تكن معروفة سابقًا لتسوية الحالات. لقد كشفنا بشكل مسؤول عن هذه الثغرة الأمنية للمشرفين. لقد عالج المشرفون هذه الثغرة الأمنية في الإصدار v0.13.4.
يأجوج هي خدمة Git مشهورة ذاتية الاستضافة ومكتوبة بلغة Go. إنه يوفر بديلاً خفيف الوزن لـ GitLab أو GitHub Enterprise ويحظى بشعبية كبيرة بين المطورين لسهولة نشره والحد الأدنى من استخدام الموارد. نظرًا لأنه مستضاف ذاتيًا، فإنه يوجد بشكل متكرر في كل من البيئات المحلية والسحابية، وغالبًا ما يتم عرضه على الإنترنت لتمكين التعاون عن بعد.
شعبية Gogs تجعلها هدفًا مهمًا. في فحصنا الخارجي، حددنا أكثر من 1400 خادم Gogs مكشوفة بشكل علني على الإنترنت. يتم تكوين العديد من هذه المثيلات مع تمكين “فتح التسجيل” افتراضيًا، مما يؤدي إلى إنشاء سطح هجوم ضخم للثغرة الأمنية الموضحة أدناه.
يعد CVE-2025-8110 بمثابة تجاوز لثغرة RCE السابقة (CVE-2024-55947) تم اكتشافه في الأصل بواسطة منسىتشو.
التاريخ (CVE-2024-55947)
أساء الخلل السابق استخدام نقطة ضعف في اجتياز المسار في واجهة برمجة تطبيقات PutContents. سمح للمهاجم بكتابة ملفات خارج دليل مستودع git، مما يمنح القدرة على الكتابة فوق ملفات النظام الحساسة أو ملفات التكوين لتحقيق تنفيذ التعليمات البرمجية. قام المشرفون بمعالجة هذا عن طريق إضافة التحقق من صحة الإدخال على معلمة المسار.
التجاوز (CVE-2025-8110)
لسوء الحظ، لم يتم أخذ الإصلاح الذي تم تنفيذه لـ CVE السابق في الاعتبار روابط رمزية.
يعتمد هذا التجاوز الجديد على حقيقتين أساسيتين:
-
يسمح Git، ومن ثم Gogs باستخدام الروابط الرمزية في مستودعات git، ويمكن أن تشير تلك الروابط الرمزية إلى كائنات خارج المستودع
-
تسمح واجهة برمجة تطبيقات Gogs بتعديل الملف خارج بروتوكول git العادي، ولم يتحقق التكرار السابق لهذا التنفيذ بشكل صحيح من إساءة استخدام الرابط الرمزي.
تسمح واجهة برمجة تطبيقات Gogs بتعديل الملف خارج بروتوكول git العادي، وبينما تقوم الآن بالتحقق من صحة أسماء المسارات، فإنها تفشل في التحقق من صحة وجهة من رابط رمزي. نظرًا لأن Gogs تحترم سلوك Git القياسي، فإنها تسمح للمستخدمين بإنشاء روابط رمزية للمستودعات. تنشأ الثغرة الأمنية لأن واجهة برمجة التطبيقات (API) تكتب إلى مسار الملف دون التحقق مما إذا كان الملف الهدف هو في الواقع رابط رمزي يشير إلى خارج الريبو. وهذا يجعل التحقق من صحة المسار السابق عديم الفائدة بشكل فعال إذا كان هناك رابط رمزي.
سلسلة الهجوم
تعتبر عملية الاستغلال تافهة لأي مستخدم لديه أذونات إنشاء المستودع (ممكّنة افتراضيًا):
-
يقوم المهاجم بإنشاء مستودع git قياسي.
-
إنهم يرتكبون رابطًا رمزيًا واحدًا يشير إلى هدف حساس.
-
باستخدام
PutContentsAPI، يكتبون البيانات إلى الرابط الرمزي. يتبع النظام الرابط ويقوم بالكتابة فوق الملف الهدف خارج المستودع. -
بالكتابة فوق
.git/config(على وجه التحديدsshCommand)، يمكن للمهاجم إجبار النظام على تنفيذ أوامر عشوائية.
ويستمر هذا في نمط مقلق في جوجس (انظر: ١٣). CVE-2024-56731, CVE-2024-54148)، حيث يتم استغلال معالجة الارتباط الرمزي بشكل متكرر لتغيير الملفات الداخلية.
بدأ تحقيقنا بإصابة واحدة ببرنامج ضار على عبء العمل السحابي للعميل.
لقد حددنا خدمة Gogs المكشوفة للعامة (الإصدار 0.13.2) والتي تعمل على المضيف المخترق. هذا الإصدار يجب كانت محصنة ضد CVE-2024-55947. ومع ذلك، كشفت واجهة الويب:
-
تم إنشاء العديد من المستودعات المشبوهة قبل خمسة أيام بالضبط.
-
الطوابع الزمنية المطابقة لإصابة البرامج الضارة.
-
تتكون أسماء المستودعات من سلاسل عشوائية مكونة من 8 أحرف.
من المهم ملاحظة أنه على الرغم من أن هذه القطع الأثرية ضرورية للهجوم، إلا أنه كان من الممكن أن يقوم مهاجم أكثر تطوراً بوضع علامة على هذه المستودعات على أنها خاصة أو حذفها فورًا بعد الاستغلال. يشير ظهور هذه القطع الأثرية إلى حملة آلية بأسلوب “التحطيم والاستيلاء”.
بتوسيع بحثنا عبر Shodan لمراجعة جميع الحالات المكشوفة المذكورة سابقًا، وجدنا:
-
~1,400 إجمالي الحالات المكشوفة
-
أكثر من 700 حالة مؤكدة للاختراق
بمعنى آخر، أظهرت أكثر من 50% من الحالات المكشوفة التي لاحظناها علامات التسوية. تشترك جميع المثيلات المصابة في نفس النمط: أسماء المالك/الريبو العشوائية المكونة من 8 أحرف والتي تم إنشاؤها خلال نفس النافذة الزمنية القصيرة (10 يوليو). ويشير هذا إلى أن جهة فاعلة واحدة، أو ربما مجموعة من الجهات الفاعلة التي تستخدم جميعها نفس الأدوات، هي المسؤولة عن جميع حالات العدوى.
كما ذكرنا في الأقسام السابقة، بدأ هذا التحقيق بإصابة واحدة ببرامج ضارة، ووجدنا لاحقًا نفس البرامج الضارة على عدة خوادم مخترقة، مما يؤكد مرة أخرى افتراضنا بأن هذه الثغرة الأمنية يتم استغلالها من قبل جهة فاعلة واحدة.
تحتوي الحمولة على طبقات متعددة من التشويش مصممة لتجنب الكشف:
أول تعبئة UPX بسيطة:
اكتشفنا ضمن حزمة UPX المعبأة أن البرامج الضارة تمت كتابتها بطريقة go، وتم تجميعها باستخدام ملف مشوه أداة. وهذا يعني أن جميع أسماء الفئات عشوائية وأن معظم القيم الحرفية للسلسلة مشفرة على القرص ولا يتم فك تشفيرها إلا أثناء وقت التشغيل مما يحد بشكل كبير من التحليل الثابت للملف.
ثم استخدمنا مانديانت الرائعة غير غاربلر الأداة، التي تستخرج جميع القيم الحرفية للسلسلة من الثنائيات المشوهة، وتكشف عن سلاسل إرشادية متعددة تسمح لنا بتحديد المكتبة التي نشأت منها البرامج الضارة.
قادتنا هذه السلاسل الفريدة إلى اكتشاف أن الحمولة تم إنشاؤها باستخدام ملف سوبرشيل نطاق.
Supershell عبارة عن نظام أساسي مفتوح المصدر للأوامر والتحكم (C2) وتتمثل وظيفته الأساسية في إنشاء غلاف SSH عكسي التي تتواصل عبر خدمات الويب. تمنح هذه الآلية للمهاجمين التحكم عن بعد والقدرة على تنفيذ تعليمات برمجية عشوائية على نظام مخترق. على الرغم من أن Supershell ليس معروفًا على نطاق واسع أو ذو شعبية تجارية، إلا أنه تمت ملاحظته في الحملات التي شنتها جهات التهديد التي تستفيد منها بعد استغلال ثغرات الوصول الأولية، مثل CVE-2023-46747 في أجهزة F5 BIG-IP.
ومن حمولة Supershell، تمكنا أيضًا من استخراج خادم C2 لمجموعات الهجوم
`119.45.176[.]196`.
حالة التصحيح لهذه الثغرة الأمنية أمر بالغ الأهمية. على الرغم من الكشف المسؤول، لا تزال الثغرة الأمنية غير مُصححة في الفرع الرئيسي حتى كتابة هذه السطور.
-
10 يوليو 2025: أول إشارة للاستغلال لاحظها ويز.
-
15 يوليو 2025: اكتشاف البرمجيات الخبيثة Supershell على جهاز ضعيف.
-
17 يوليو 2025: تم الإبلاغ عن الثغرة الأمنية إلى مشرفي Gogs.
-
30 أكتوبر 2025: اعتراف بالثغرة الأمنية من قبل مشرفي Gogs.
-
1 نوفمبر 2025: لوحظت موجة ثانية من الهجمات في البرية.
-
10 ديسمبر 2025: تم إصدار مشاركة المدونة الأصلية. ولم يتم إصلاح الثغرة الأمنية بعد.
-
23 يناير 2026: يُصدر Gogs الإصدار v0.13.4 لإصلاح الثغرة الأمنية.
هل أنت عرضة للخطر؟ إذا كنت تقوم بتشغيل خادم Gogs (الإصدار <= 0.13.3)، فهذا يعني:
-
يتعرض للإنترنت.
-
تم تمكين التسجيل المفتوح (الإعداد الافتراضي).
ثم أنت عرضة ل CVE-2025-8110.
الإجراءات الفورية:
-
قم بترقية Gogs على الفور: قم بتثبيت الإصدار v0.13.4 أو الأحدث لتصحيح الثغرة الأمنية.
-
إذا لم تتمكن من الترقية على الفور، قم بتعطيل التسجيل المفتوح.
-
الحد من التعرض للإنترنت. ضع خدمات Git المستضافة ذاتيًا خلف شبكة VPN أو استخدم قائمة السماح لعناوين IP.
-
ابحث عن إنشاء مستودعات بأسماء عشوائية مكونة من 8 أحرف أو استخدام غير متوقع لملف
PutContentsواجهة برمجة التطبيقات.
كيف يمكن أن يساعد ويز؟
يمكن لـ Wiz المساعدة في اكتشاف الهجمات مثل تلك الموضحة في هذه المدونة بعدة طرق:
-
ملكنا الكشف عن البرامج الضارة بدون وكيل يكتشف هذه الأنواع من التهديدات المتطورة باستخدام كتالوج قواعد YARA الخاص بنا.
-
ال الحذق وقت التشغيل الاستشعار يكتشف الأحداث والسلوكيات المرتبطة بهذا التهديد وما شابهه
-
ملكناالكشف عن الثغرات الأمنية بدون وكيل يعرض حالات هذه الثغرة الأمنية عبر البيئات السحابية والتعليمات البرمجية.
| IoC | يكتب | وصف |
|---|---|---|
| d8fcd57a71f9f6e55b063939dc7c1523660b7383 | شا-1 | البرامج الضارة |
| efda81e1100ea977321d0f2eeb0dfa7a6b132abd | شا-1 | البرامج الضارة |
| 119.45.176[.]196 | IPv4 | سوبرشيل C2 |
| 106.53.108[.]81 | IPv4 | خادم الحمولة |
| 119.91.42[.]53 | IPv4 | خادم الحمولة |
