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 प्राप्त करती है

रिपॉजिटरी देखें
14 दिन पहलेअभी तक समीक्षित नहीं

Abraxas Labs - forgejo-openid-discovery-ssrf

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

forgejo-openid-discovery-ssrf

Class: SSRF Reach: Remote

Forgejo 16.0.5 (8d24b7d) - Forgejo

जब [openid] ENABLE_OPENID_SIGNIN चालू होता है, तो unauthenticated POST /user/login/openid हमलावर के URL को yohcop openid-go v1.0.1 को सौंप देता है। उस लाइब्रेरी के package-level helpers http.DefaultClient का उपयोग करते हैं। इस पथ पर कोई hostmatcher नहीं है। Webhooks और migrations outbound HTTP को फ़िल्टर करते हैं। OpenID नहीं करता।

जो कोई भी login form तक पहुँच सकता है, वह Forgejo host से loopback, RFC1918, CGNAT, और IMDS पर Yadis GET चला सकता है।

IDअभी तक कोई CVE नहीं
ClassSSRF
ReachRemote (unauthenticated, जब OpenID sign-in सक्षम हो)
CWECWE-918
CVSSHigh: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
ProductForgejo
Affectedv16.0.5 (8d24b7d) तक ENABLE_OPENID_SIGNIN के साथ; Gitea CVE-2026-58314 का अवशेष
Authunauthenticated
LicenseGNU Affero GPL v3.0
Labकेवल 127.0.0.1

हमलावर क्या कर सकता है

कोई account नहीं। एक OpenID URL POST करें। Forgejo host उसे fetch करता है।

PrivilegeMethod / sinkRecon / integrity / availabilityLab-proven या inferred
loopback पर Yadis GET चलानाUnauth POST /user/login/openid with openid=http://127.0.0.1:18080/Recon (Forgejo host से outbound HTTP)Lab-proven। Oracle ने 127.0.0.1 से Accept: application/xrds+xml के साथ GET / देखा
RFC1918, CGNAT, link-local, IMDS की जाँचवही http.DefaultClient Discover, कोई IP filter नहींReconclient से inferred। Lab ने केवल loopback का उपयोग किया
signed-in add-OpenID से दोहरानाPOST /user/settings/security/openid भी RedirectURL को कॉल करता है और allowedOpenIDURI को छोड़ देता हैReconhandler से inferred। Lab ने unauth login POST का उपयोग किया
login error में response bodies पढ़नाCVE-2021-45325 के बाद, errors अब fetch को dump नहीं करतेReconLab-proven closed। यह अवशेष request है, HTML leak नहीं

इस pin पर बंद: OpenID association CSRF (openIDState session nonce), webhook/migrate hostmatcher (वहाँ अभी भी उपयोग होता है), git followRedirects=false, migrate LookupIP CVE-2026-82556। Lab OpenID login पूरा नहीं करता और shell वापस नहीं देता।

web installer checkbox डिफ़ॉल्ट रूप से चालू रहता है (EnableOpenIDSignIn = MustBool(!InstallLock) जब unlocked, फिर app.ini में लिखा जाता है)। Lock के बाद, छोड़ी गई key false होती है। Docker app.ini template में कोई [openid] section नहीं है, इसलिए wizard के बिना pre-locked image बंद रहती है जब तक operator key सेट न करे। खाली WHITELISTED_URIS हर URI की अनुमति देता है।

मैंने इसे कैसे खोजा

v16.0.5 ने OpenID association CSRF को बंद कर दिया। मैं फिर भी उस surface पर बैठा रहा। Gitea PR 38406 / CVE-2026-58314 ने hostmatcher-filtered client को एक dedicated openid-go instance में डाला। यह pin अभी भी package-level helpers को कॉल करता है।

पहले से दर्ज गलत रास्ते: association CSRF को दोबारा file करना (वह nonce tree में है); Docker pre-locked image को default मानना (wizard checkbox को चालू लिखता है); पुराने OpenID error-string leak की अपेक्षा; एक reverse shell। नाटक।

Lab

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

या:

cd lab
./run.sh

लक्ष्य केवल http://127.0.0.1:19330। Image codeberg.org/forgejo/forgejo:16.0.5। Oracle Forgejo netns साझा करता है और 127.0.0.1:18080 bind करता है।

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 के समान: एक hostmatcher-filtered http.Client को dedicated openid-go instance में डालें। WHITELISTED_URIS को दूसरे gate के रूप में रखें। loopback, RFC1918, CGNAT, link-local, और metadata को ब्लॉक करें।

संदर्भ

  • codeberg.org/forgejo/forgejo tag v16.0.5
  • modules/auth/openid/openid.go
  • निकटवर्ती patched (यह fetch नहीं): v16.0.5 OpenID association CSRF
  • Gitea class: CVE-2026-58314 / PR 38406
  • CWE-918

लाइसेंस

GNU Affero GPL v3.0। देखें LICENSE। केवल loopback lab। कोई वारंटी नहीं।

टूल डाउनलोड करें