
CVE-2026-60004 — ثغرة RCE قبل المصادقة في Gitea عبر حقن خطاف diffpatch
يحتوي هذا المستودع على أداة إثبات مفهوم لثغرة CVE-2026-60004، وهي ناقل تنفيذ عن بُعد (RCE) سواء بالمصادقة أو بدونها، وتؤثر على إصدارات معينة من Gitea عبر تقنية حقن الخطاف diffpatch. التنفيذ الأساسي هو برنامج Go واحد يقوم بعمليات الكشف والاستغلال.
يعرض هذا الإثبات تقنيات استغلال يمكن أن تخترق أنظمة بعيدة. وهو مقدَّم لأغراض البحث والاختبار والدفاع فقط. لا تشغّل هذه الأداة ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها. المؤلف والمساهمون غير مسؤولين عن أي إساءة استخدام.
من جذر المستودع نفّذ:
go build -o cve-2026-60004-poc cve-2026-60004-poc.go
يدعم الملف الثنائي المُجمَّع عدة أوضاع: full-auto و semi-auto و manual و check.


./cve-2026-60004-poc --url http://target:3000 --mode check
./cve-2026-60004-poc --url http://target:3000 --mode full-auto
./cve-2026-60004-poc --url http://target:3000 --mode semi-auto --user attacker --pw 'P@ssw0rd'
./cve-2026-60004-poc --url http://target:3000 --mode manual --user attacker --pw 'P@ssw0rd' --repo myrepo
./cve-2026-60004-poc --url http://target:3000 --mode manual --user attacker --pw 'P@ssw0rd' --repo myrepo --cmd "whoami; id"
--url (مطلوب) : عنوان Gitea الأساسي المستهدف (مثل http://10.0.0.1:3000)--mode : full-auto | semi-auto | manual | check (الافتراضي: full-auto)--user, --pw : بيانات الاعتماد لوضعي semi-auto/manual--repo : اسم المستودع (للوضع اليدوي)--branch : اسم الفرع (الافتراضي: main)--cmd : الأمر المراد تنفيذه على الهدف (الافتراضي: cat /etc/passwd)check يشغّل فحوصات غير تطفلية لاكتشاف Gitea واستطلاع وجود نقطة نهاية diffpatch.full-auto تسجيل مستخدم جديد (يتطلب تسجيلًا مفتوحًا)، وإنشاء مستودع، وتسليم حمولة diffpatch الخبيثة، واسترجاع المخرجات من الخطاف المُحقن.semi-auto بيانات الاعتماد المقدَّمة لإنشاء مستودع والمتابعة في خطوات الاستغلال.manual مستخدمًا ومستودعًا موجودين؛ ولا يحاول سوى تسليم الاستغلال و(اختياريًا) استرجاع المخرجات.InsecureSkipVerify على true عمدًا لاتصالات TLS لزيادة التوافق أثناء الاختبار؛ لا تستخدم هذا السلوك في كود الإنتاج./api/v1/version و /user/sign_up و /api/v1/user و /api/v1/user/repos و /api/v1/repos/:owner/:repo/diffpatch.يجب أن تقتصر المساهمات على التحسينات الدفاعية والتوثيق والإصلاحات غير المرتبطة بالاستغلال. لا ترسل تعديلات تجعل الأداة أكثر تدميرًا.
هذا المستودع مقدَّم لأغراض البحث والدفاع. لا يتضمن أي ترخيص صريح؛ إذا كنت بحاجة إلى ترخيص، أضف واحدًا وتأكد من توافقه مع استخدامك المقصود.
المؤلف: Gagaltotal666 - GhostGTR666
أُعدّ هذا الإثبات لعرض الثغرة ومساعدة المدافعين في اكتشافها والتخفيف من حدتها.
--count : عدد طلبات diffpatch المراد إرسالها (الحد الأدنى 2)--simple-hook : استخدام خطاف بسيط (تخطي الحمولة المتقدمة)--no-retrieve : تخطي استرجاع المخرجات--proxy : بروكسي HTTP (مثل http://127.0.0.1:8080)--verbose, -v : مخرجات مفصّلة--quiet, -q : الوضع الصامت؛ طباعة مخرجات الأمر فقط--force : تخطي فحوصات التحقق من Gitea