
إثبات مفهوم لاستغلال CVE-2025-8110 في Gogs <=0.13.x، مما يتيح تجاوز الروابط الرمزية للمصادق عليهم للكتابة التعسفية في الملفات كمستخدم عملية Gogs، مما يؤدي إلى تصعيد الامتيازات المحلية.
Gogs <= 0.13.x. يقوم مستخدم مُصادَق بارتكاب رابط رمزي (symlink) في مستودع، ثم
يستدعي واجهة برمجة التطبيقات "تحديث محتويات الملف"
(PUT /api/v1/repos/<u>/<r>/contents/<path>). يتبع Gogs الرابط الرمزي ويكتب
بايتات يتحكم بها المهاجم إلى هدف الرابط بصلاحيات عملية Gogs. عندما يعمل Gogs كجذر (root)،
فهذه كتابة ملفات عشوائية بصلاحيات الجذر - على سبيل المثال، إسقاط قاعدة NOPASSWD
في /etc/sudoers.d/ لتصعيد الامتيازات المحلية.
تم الإبلاغ عنه بواسطة Wiz Research.
CVE: CVE-2025-8110
python3 -m pip install requests pillow # gogs_register.py (التعرف الضوئي على رموز التحقق)
# بالإضافة إلى ثنائي `tesseract` في PATH (أو عدّل مسار R= في gogs_register.py)
gogs_register.py - الحصول على حساب مُصادَق يتجاوز رمز التحقق عند التسجيلpython3 gogs_register.py [username] [password] # الافتراضي: pocuser / PocPass123!
# يستهدف http://127.0.0.1:3001 - عدّل B= لمثيل بعيد
gogs_symlink_root.sh - كتابة الرابط الرمزي./gogs_symlink_root.sh <gogs-user> <gogs-pass> [sudo-user]
# sudo-user الافتراضي هو المستخدم الحالي؛ يكتب /etc/sudoers.d/<sudo-user>
# شغّله على المضيف الهدف (يتطلب git و curl، و Gogs يمكن الوصول إليه على 127.0.0.1:3001)
لأغراض الاختبار الأمني المصرح به والتعليم فقط. شغّل هذا فقط ضد أنظمة تمتلكها أو لديك إذن كتابي صريح لاختبارها.
المؤلف: r3vpwnx