Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
gitea-git-redir-ssrf — Gitea के repo migrate endpoint में authenticated SSRF के लिए proof-of-concept और lab, जहाँ git HTTP redirects का पालन करते हुए loopback git HTTP में जाता है और internal objects लीक करता है। | Kitploit
उपकरण/GitHubGitHub/abraxas/gitea-git-redir-ssrf
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगलैब और अभ्यास
GitHubabraxas/gitea-git-redir-ssrf

gitea-git-redir-ssrf

Gitea के repo migrate endpoint में authenticated SSRF के लिए proof-of-concept और lab, जहाँ git HTTP redirects का पालन करते हुए loopback git HTTP में जाता है और internal objects लीक करता है।

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

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Abraxas Labs - gitea-git-redir-ssrf

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  gitea-git-redir-ssrf

राइट-अप: https://abraxaslabs.tech/research/gitea-git-redir-ssrf

gitea-git-redir-ssrf

Gitea 1.27.3 - Gitea

IsMigrateURLAllowed आपके द्वारा टाइप किए गए URL पर एक वन-शॉट net.LookupIP है। इसके बाद बाइट्स git clone --mirror से होकर गुज़रते हैं। HandleGitCmdHTTPRedirection को git को उस हॉप का अनुसरण करने से रोकना चाहिए। यह कुछ नहीं करता। टिप्पणी ही निष्कर्ष है: उन्होंने http.followRedirects=false को छोड़ दिया क्योंकि GitLab .git के बिना 301 देता है। पुल-मिरर फ़ेच भी उसी नो-ऑप को कॉल करता है।

एक साइन-इन किया हुआ उपयोगकर्ता किसी allow-list वाले बेट होस्ट से माइग्रेट कर सकता है और git उस 302 का अनुसरण करते हुए लूपबैक git HTTP में चला जाता है। आंतरिक ऑब्जेक्ट्स उनके स्वयं के स्वामित्व वाले रेपो में पहुँच जाते हैं।

IDअभी तक कोई CVE नहीं
CWECWE-918
CVSSHigh: 7.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
उत्पादGitea
प्रभावितv1.27.3 (146cc3e) तक
प्रमाणीकरणप्रमाणीकृत (डिफ़ॉल्ट खुला पंजीकरण)
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

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

पंजीकरण करें, किसी बाहरी दिखने वाले URL से माइग्रेट करें जो http://127.0.0.1:.../internal.git पर 302 करता है। लूपबैक पर सीधा माइग्रेट अस्वीकृत है। रीडायरेक्ट-फ़ॉलो किया गया क्लोन नहीं है। विटनेस फ़ाइल उनके रेपो में पहुँच जाती है।

file:// डिस्क रीड नहीं। /api/internal पर X-Gitea-Internal-Auth नहीं (git वह हेडर सेट नहीं करेगा)। अनप्रमाणीकृत RCE नहीं। मेटाडेटा RCE नहीं, जब तक आप अलग से यह न दिखाएँ कि git ने बॉडी को संग्रहीत किया।

उसी टैग के अवशेष: keys IDOR, hostmatcher 0.0.0.0/8।

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

v1.27.3 ने 2026 GHSA लहर को बंद किया: CVE-2026-60004 (diffpatch हुक RCE, CISA KEV), CVE-2026-59774 (अनप्रमाणीकृत Org-mode #+INCLUDE), fork-PR Actions गेट्स, रिवर्स-प्रॉक्सी X-WEBAUTH-USER डिफ़ॉल्ट। उनके लिए 1.27.3+ पर बने रहें। मैं फिर भी उस टैग पर टिका रहा।

CVE-2026-59765 ने Go uri.Open को ठीक किया। CVE-2026-22874 ने Go reservedIPNets को ठीक किया। Git का रीडायरेक्टर अभी भी एक FIXME है। चेंजलॉग में "disable HTTP redirects on pull mirror sync" इस फ़ंक्शन को नहीं दर्शाता।

लैब Gitea को 8.8.4.2 पर रखता है ताकि 8.8.4.10 पर स्थित एक बेट होस्ट hostmatcher के लिए बाहरी दिखे। आंतरिक git HTTP Gitea नेटनेम्स पर केवल लूपबैक पर बाइंड होता है (network_mode: service:gitea, पोर्ट 9418)। 127.0.0.1 पर सीधा माइग्रेट विफल होना चाहिए। रीडायरेक्ट-फ़ॉलो किया गया क्लोन सफल होना चाहिए। redir.py /bait.git को http://127.0.0.1:9418/internal.git पर 302 करता है। विटनेस फ़ाइल WITNESS में GHSA-GITEA-GIT-REDIR-SSRF है।

पहले से दर्ज गलत रास्ते: ALLOW_LOCALNETWORKS true (तब allow-list ही चली जाती है); file://; X-Gitea-Internal-Auth; एक रिवर्स शेल। नाटक। सीधा लूपबैक माइग्रेट अस्वीकृत होना ही नियंत्रण है।

क्लाइंट बग उत्पाद बग जैसे दिखते हैं। एक हेल्पर जो http.client को शैडो करता है, कभी पैकेट नहीं भेजता। HTTPResponse पर .recv() .read() नहीं है। मैं यह एक बार बता रहा हूँ क्योंकि इसने समय लिया और एक मिनट के लिए ऐसा लगा कि 1.27.3 ने काम पूरा कर दिया है।

लैब

cd lab
./run.sh

केवल http://127.0.0.1:18103 को लक्षित करें। ALLOW_LOCALNETWORKS=false।

negative-loopback status=422 You can not import from disallowed hosts
migrate-bait status=201 clone_addr=http://8.8.4.10/bait.git
fetch raw/WITNESS status=200 GHSA-GITEA-GIT-REDIR-SSRF
SUCCESS Gitea #2 git HTTP redirect SSRF

समाधान

सबमिट-समय DNS को सीमा न मानें। http.followRedirects=false को बाध्य करें (और क्लोन URL को .git में सामान्यीकृत करें ताकि GitLab अभी भी काम करे), या git HTTP को ऐसे डायलर के माध्यम से प्रॉक्सी करें जो प्रत्येक हॉप पर hostmatcher को फिर से चलाए।

संदर्भ

  • github.com/go-gitea/gitea टैग v1.27.3
  • HandleGitCmdHTTPRedirection · IsMigrateURLAllowed
  • निकटवर्ती पैच किए गए: CVE-2026-59765 · CVE-2026-22874
  • CWE-918

लाइसेंस

GNU Affero GPL v3.0. देखें LICENSE। केवल लूपबैक लैब। कोई वारंटी नहीं।

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