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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
gitea-restore-file-open — Gitea restore-repo file:// स्थानीय फ़ाइल समावेशन (CWE-73) के लिए प्रूफ-ऑफ-कॉन्सेप्ट जो अविश्वसनीय डंप के बाहर सिमलिंक लक्ष्यों को रिलीज़ अटैचमेंट में कॉपी करता है। | Kitploit
उपकरण/GitHubGitHub/abraxas/gitea-restore-file-open
भेद्यता विश्लेषणशोषणजानकारी एकत्र करनासुरक्षा वर्चुअलाइजेशनवेब सुरक्षापेनिट्रेशन टेस्टिंगलैब और अभ्यास
GitHubabraxas/gitea-restore-file-open

gitea-restore-file-open

Gitea restore-repo file:// स्थानीय फ़ाइल समावेशन (CWE-73) के लिए प्रूफ-ऑफ-कॉन्सेप्ट जो अविश्वसनीय डंप के बाहर सिमलिंक लक्ष्यों को रिलीज़ अटैचमेंट में कॉपी करता है।

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - gitea-restore-file-open

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  gitea-restore-file-open

राइट-अप: https://abraxaslabs.tech/research/gitea-restore-file-open

gitea-restore-file-open

Gitea 1.27.3 - Gitea

CVE-2026-59765 ने OpenWithClient पर एक hostmatcher HTTP क्लाइंट लगाया। file:// शाखा उस क्लाइंट को अनदेखा करती है और os.Open को कॉल करती है। डंप के रिस्टोर में कोई DownloadFunc नहीं होता। इसके बाद gitea_uploader.go पुनर्लिखित file:// URL को खोलता है। os.Open एक डंप-साइड सिमलिंक का अनुसरण करता है। जॉइन डंप के अंतर्गत ही रहता है। सिमलिंक नहीं रहता।

किसी अविश्वसनीय डंप का ऑपरेटर रिस्टोर सिमलिंक लक्ष्य को एक रिलीज़ अटैचमेंट में कॉपी कर देता है। Gitea uid के रूप में, वह कोई भी फ़ाइल है जिसे सेवा खाता पढ़ सकता है।

IDअभी तक कोई CVE नहीं
CWECWE-73
CVSSमध्यम: 4.2 CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:N
उत्पादGitea
प्रभावितv1.27.3 (146cc3e) तक; स्थानीय ऑपरेटर gitea restore-repo
प्रमाणीकरणकिसी अविश्वसनीय डंप का स्थानीय ऑपरेटर रिस्टोर
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

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

किसी एडमिन को एक अविश्वसनीय डंप (एक "बैकअप" निर्देशिका, किसी अविश्वसनीय रिमोट से रिस्टोर) सौंपें जिसमें डंप के अंतर्गत जॉइन किए गए पथ के नीचे एक सिमलिंक हो। रिस्टोर लक्ष्य फ़ाइल को रिस्टोर किए गए रेपो पर एक रिलीज़ अटैचमेंट में कॉपी कर देता है। जो भी उस रेपो को पढ़ सकता है, वह उसे डाउनलोड कर लेता है।

यदि डंप लेखक app.ini का नाम देता है, तो वह क्रेडेंशियल चोरी है (INTERNAL_TOKEN, SECRET_KEY, JWT, DB पासवर्ड)। लैब ओरेकल एक रोपित गवाह फ़ाइल थी, app.ini नहीं। यह OS LPE नहीं है। यह अनप्रमाणित नहीं है। यह डंप-रूट जॉइन एस्केप नहीं है। GitHub/GitLab/Gitea से लाइव माइग्रेट DownloadFunc सेट करता है और हमलावर के file:// को os.Open नहीं करता।

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

दो रिस्टोर मैप बची हुई तालिका पर पड़े थे। मैंने पहले स्पष्ट वाले पर लैब किया।

फाइंडिंग 8 डंप-रूट जॉइन एस्केप थी: release.yml में एक एब्सोल्यूट DownloadURL डालें, उम्मीद करें कि FilePathJoinAbs डंप प्रीफ़िक्स को उसी तरह गिरा देगा जैसे भोला filepath.Join(base, "/etc/passwd") करता है। 1.27.3 पर यह नहीं करता। प्रत्येक sub filepath.Clean("/"+s) है फिर filepath.Join(base, cleaned)। /tmp/dump + /tmp/GITEA-JOIN-OUTSIDE का रेप्लिका जॉइन /tmp/dump/tmp/GITEA-JOIN-OUTSIDE ही रहा। रिस्टोर ने डंप के अंतर्गत file:// को पुनर्लिखित किया और open ...: no such file or directory पर विफल रहा। यह इस टैग पर जॉइन-एस्केप नहीं है।

फाइंडिंग 9 वही है जो सफल हुई। मैंने डंप के बाहर एक गवाह फ़ाइल रोपित की, डंप के अंतर्गत जॉइन किए गए पथ पर एक सिमलिंक रखा, gitea restore-repo चलाया। रिस्टोर rc=0। रिस्टोर किए गए रिलीज़ अटैचमेंट में GITEA-FILE-OPEN-WITNESS था।

पहले से दर्ज गलत रास्ते: एक एब्सोल्यूट DownloadURL के माध्यम से डंप-रूट जॉइन एस्केप; लाइव माइग्रेट file:// LFI; X-Gitea-Internal-Auth (रिस्टोर Gitea uid के रूप में CLI है, /api/internal नहीं); रिस्टोर HTTP को रिमोट अनऑथ मानना (CVSS स्थानीय, उच्च विशेषाधिकार, उपयोगकर्ता इंटरैक्शन है); एक रिवर्स शेल। नाटक।

लैब

cd lab
./run.sh

केवल http://127.0.0.1:18137 को लक्षित करें। Compose lab/dump को केवल-पढ़ने के लिए माउंट करता है। run.sh कंटेनर के अंदर witness लगाता है, dump बनाता है, symlink रखता है, फिर gitea restore-repo चलाता है।

restore-rc=0 Restore repo labadmin/restored successfully
download status=200 snippet=GITEA-FILE-OPEN-WITNESS
SUCCESS GITEA-RESTORE-FILE-OPEN

समाधान

OpenWithClient से file:// हटा दें, या डंप सिमलिंक्स का पालन करने से इनकार करें, और अविश्वसनीय डंप्स को पुनर्स्थापित न करें। पुनर्स्थापित अटैचमेंट में डंप-से-बाहर का साक्ष्य शामिल नहीं होना चाहिए।

संदर्भ

  • github.com/go-gitea/gitea टैग v1.27.3
  • uri.go · gitea_uploader.go · FilePathJoinAbs
  • निकटवर्ती पैच किया गया: CVE-2026-59765
  • CWE-73

लाइसेंस

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

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