Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
forgejo-openid-discovery-ssrf — Forgejo 16.0.5 - عالي - عن بُعد - SSRF - اكتشاف OpenID يجلب عناوين URL يتحكم بها المهاجم | Kitploit
أدوات/GitHubGitHub/abraxas/forgejo-openid-discovery-ssrf
الاستطلاعتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتأمن الويباختبار الاختراق
GitHubabraxas/forgejo-openid-discovery-ssrf

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

forgejo-openid-discovery-ssrf

Forgejo 16.0.5 - عالي - عن بُعد - SSRF - اكتشاف OpenID يجلب عناوين URL يتحكم بها المهاجم

عرض المستودع
1منذ 3 أياملم تتم المراجعة بعد

Abraxas Labs - forgejo-openid-discovery-ssrf

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  forgejo-openid-discovery-ssrf

forgejo-openid-discovery-ssrf

الفئة: SSRF الوصول: عن بُعد

Forgejo 16.0.5 (8d24b7d) - Forgejo

عندما يكون [openid] ENABLE_OPENID_SIGNIN مُفعَّلاً، فإن POST /user/login/openid غير المُصادَق يمرِّر عنوان URL الخاص بالمهاجم إلى yohcop openid-go v1.0.1. تستخدم الدوال المساعدة على مستوى الحزمة في تلك المكتبة http.DefaultClient. لا يوجد hostmatcher على هذا المسار. تُرشِّح الـ webhooks والـ migrations طلبات HTTP الصادرة. أما OpenID فلا يفعل ذلك.

من يستطيع الوصول إلى نموذج تسجيل الدخول يمكنه توجيه طلب Yadis GET نحو loopback و RFC1918 و CGNAT و IMDS من مضيف Forgejo.

المعرّفلا يوجد CVE بعد
الفئةSSRF
الوصولعن بُعد (غير مُصادَق، عند تفعيل تسجيل الدخول عبر OpenID)
CWECWE-918
CVSSمرتفع: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
المنتجForgejo
المتأثرحتى v16.0.5 (8d24b7d) مع ENABLE_OPENID_SIGNIN؛ من بقايا Gitea CVE-2026-58314
المصادقةغير مُصادَق
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

ما يمكن للمهاجم فعله

بدون حساب. أرسِل POST لعنوان URL الخاص بـ OpenID. يقوم مضيف Forgejo بجلبه.

الصلاحيةالطريقة / نقطة الوصولالاستطلاع / السلامة / التوافرمُثبَت مختبرياً أو مُستنتَج
توجيه طلب Yadis GET نحو loopbackPOST /user/login/openid غير مُصادَق مع openid=http://127.0.0.1:18080/استطلاع (HTTP صادر من مضيف Forgejo)مُثبَت مختبرياً. رأى الـ Oracle طلب GET / مع Accept: application/xrds+xml من 127.0.0.1
استكشاف RFC1918 و CGNAT و link-local و IMDSنفس http.DefaultClient Discover، بدون مرشِّح IPاستطلاعمُستنتَج من العميل. استخدم المختبر loopback فقط
التكرار من إضافة OpenID لمستخدم مُسجَّلPOST /user/settings/security/openid يستدعي أيضاً RedirectURL ويتخطى allowedOpenIDURIاستطلاعمُستنتَج من الـ handler. استخدم المختبر POST تسجيل الدخول غير المُصادَق
قراءة أجسام الاستجابة في خطأ تسجيل الدخولبعد CVE-2021-45325، لم تعد الأخطاء تُفرِّغ نتيجة الجلباستطلاعمُثبَت مختبرياً كمُغلَق. هذه البقية هي الطلب، وليست تسريب HTML

مُغلَق على هذا الإصدار: OpenID association CSRF (nonce الجلسة openIDState)، و hostmatcher الخاص بالـ webhook/migrate (لا يزال مُستخدَماً هناك)، و git followRedirects=false، و migrate LookupIP CVE-2026-82556. لا يُكمل المختبر تسجيل دخول OpenID ولا يُعيد shell.

خانة الاختيار في مُثبِّت الويب مُفعَّلة افتراضياً (EnableOpenIDSignIn = MustBool(!InstallLock) أثناء عدم القفل، ثم تُكتَب في app.ini). بعد القفل، يكون المفتاح المحذوف false. لا يحتوي قالب app.ini في Docker على قسم [openid]، لذا فإن صورة مقفولة مسبقاً بدون المعالج تكون مُعطَّلة ما لم يُعيّن المشغِّل المفتاح. WHITELISTED_URIS الفارغ يسمح بكل URI.

كيف وجدته

أغلق v16.0.5 ثغرة OpenID association CSRF. جلست على هذا السطح على أي حال. وضع Gitea PR 38406 / CVE-2026-58314 عميلاً مُرشَّحاً بـ hostmatcher في نسخة openid-go مخصَّصة. لا يزال هذا الإصدار يستدعي الدوال المساعدة على مستوى الحزمة.

مسارات خاطئة مُسجَّلة مسبقاً: إعادة الإبلاغ عن association CSRF (هذا الـ nonce موجود في الشجرة)؛ اعتبار صورة Docker المقفولة مسبقاً هي الافتراضي (المعالج يُفعِّل خانة الاختيار)؛ توقُّع تسريب سلسلة أخطاء OpenID القديم؛ reverse shell. مسرحية.

المختبر

python3 forgejo-openid-discovery-ssrf-Abraxas-Labs.py

أو:

cd lab
./run.sh

استهدف فقط http://127.0.0.1:19330. الصورة codeberg.org/forgejo/forgejo:16.0.5. يتشارك الـ Oracle شبكة Forgejo netns ويربط 127.0.0.1:18080.

IOC post-openid status=200
IOC xrds-hits count=1
SUCCESS forgejo-openid-discovery-ssrf how=live post=/user/login/openid openid=http://127.0.0.1:18080/ path=/ accept=application/xrds+xml peer=127.0.0.1 post-status=200 FORGEJO-OPENID-DISCOVERY-WITNESS

الإصلاح

نفس ما في Gitea PR 38406: http.Client مُرشَّح بـ hostmatcher في نسخة openid-go مخصَّصة. أبقِ WHITELISTED_URIS كبوابة ثانية. احجب loopback و RFC1918 و CGNAT و link-local و metadata.

المراجع

  • codeberg.org/forgejo/forgejo وسم v16.0.5
  • modules/auth/openid/openid.go
  • قريب مُرقَّع (ليس هذا الجلب): v16.0.5 OpenID association CSRF
  • فئة Gitea: CVE-2026-58314 / PR 38406
  • CWE-918

الترخيص

GNU Affero GPL v3.0. انظر LICENSE. مختبر loopback فقط. بدون ضمان.

تنزيل الأداة