يحتوي Gogs، وهو خدمة Git مفتوحة المصدر ومستضافة ذاتيًا، على مشكلة تتعلق بتجاوز ضوابط الوصول. يمكن للمساهمين في المستودع الذين يتمتعون بأذونات الكتابة حذف الفروع المحمية، بما في ذلك الفرع الافتراضي، عن طريق إرسال طلب POST مباشر. يؤدي ذلك إلى تجاوز آلية حماية الفروع، مما يسمح بتصعيد الامتيازات من مستوى الكتابة إلى مستوى المسؤول. توجد الثغرة الأمنية في الدالة `DeleteBranchPost` داخل الملف `internal/route/repo/branch.go`، وتحديدًا في الأسطر 110-155. لا تؤدي عملية الحذف عبر واجهة الويب إلى تشغيل Git Hooks، التي تمنع بشكل صحيح حذف الفروع المحمية عبر دفع SSH. يجب أن يتمتع المهاجمون بأذونات الكتابة في المستودع المستهدف والوصول إلى واجهة الويب الخاصة بـ Gogs لاستغلال هذه الثغرة. يفتقر الكود المعرض للخطر إلى عمليات التحقق الخاصة بالفروع المحمية والقياسية، في حين أن طبقة واجهة المستخدم و Git Hooks تنفذ هذه العمليات بشكل صحيح. نقطة نهاية واجهة برمجة التطبيقات (API) المعرضة للخطر هي ’/delete/*‘ والمعلمة المعرضة للخطر هي اسم الفرع.