Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-60004-PoC — Gitea 1.27.1 से पहले Git hook इंस्टॉलेशन के माध्यम से diffpatch API के ज़रिए remote code execution की अनुमति देता है। | Kitploit
उपकरण/GitHubGitHub/erberkan/cve-2026-60004-poc
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपोस्ट-शोषणसुरक्षा वर्चुअलाइजेशनपेनिट्रेशन टेस्टिंगरेड टीमिंगरिमोट एक्सेस टूल
GitHuberberkan/cve-2026-60004-poc

CVE-2026-60004-PoC

Gitea 1.27.1 से पहले Git hook इंस्टॉलेशन के माध्यम से diffpatch API के ज़रिए remote code execution की अनुमति देता है।

रिपॉजिटरी देखें
1 दिन पहलेअभी तक समीक्षित नहीं
वेबसाइट

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

सभी देखें →

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

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

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

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

CVE-2026-60004: Gitea Diffpatch API रिमोट कोड एक्ज़ीक्यूशन

[!WARNING] यह रिपॉज़िटरी विशेष रूप से अधिकृत सुरक्षा अनुसंधान और नियंत्रित प्रयोगशाला परीक्षण के लिए है। प्रूफ ऑफ कॉन्सेप्ट को उन सिस्टमों पर न चलाएँ जिनके आप स्वामी नहीं हैं या जिनका मूल्यांकन करने के लिए आपके पास स्पष्ट अनुमति नहीं है।

अवलोकन

CVE-2026-60004, Gitea के diffpatch API में एक गंभीर रिमोट कोड एक्ज़ीक्यूशन भेद्यता है। रिपॉज़िटरी बनाने या उसमें लिखने की अनुमति रखने वाला एक प्रमाणित उपयोगकर्ता एक तैयार किया गया पैच सबमिट कर सकता है जिसके कारण एक अस्थायी बेयर रिपॉज़िटरी के अंदर एक निष्पादन योग्य Git हुक भौतिक रूप से बन जाता है। जब हुक ट्रिगर होता है, तो हमलावर-नियंत्रित कमांड Gitea सेवा खाते के विशेषाधिकारों के साथ निष्पादित होते हैं।

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

विशेषताविवरण
पहचानकर्ताCVE-2026-60004
सलाहGHSA-rcr6-4jqh-j84m
गंभीरतागंभीर — CVSS 3.1: 9.8
कमज़ोरीCWE-94: कोड के निर्माण का अनुचित नियंत्रण
प्रभावित संस्करणGitea 1.17.0 से 1.27.0 तक
ठीक किया गया संस्करणGitea 1.27.1
आवश्यक पहुँचरिपॉज़िटरी लेखन पहुँच
निष्पादन संदर्भGitea ऑपरेटिंग-सिस्टम खाता
CISA KEV दिनांक2026-08-25

रिपॉज़िटरी सामग्री

फ़ाइलविवरण
gitea_diffpatch_rce.pyकेवल मानक-लाइब्रेरी आधारित प्रूफ ऑफ कॉन्सेप्ट जो प्रमाणित करता है, एक निजी रिपॉज़िटरी बनाता है, तैयार किया गया पैच सबमिट करता है, और कमांड आउटपुट प्राप्त करता है।
payload.patchउदाहरण पैच जो एक निष्पादन योग्य hooks/post-index-change हुक बनाता है।
poc.pngप्रयोगशाला सत्यापन के दौरान लिया गया स्क्रीनशॉट।
README.mdमूल शोध नोट्स।

परीक्षण किया गया वातावरण

प्रूफ ऑफ कॉन्सेप्ट को निम्नलिखित पृथक वातावरण में सत्यापित किया गया था:

घटककॉन्फ़िगरेशन
Gitea1.27.0
Git2.47.2
परिनियोजनgitea-lab नाम का Docker कंटेनर
सेवा पता192.168.184.128:3000
देखी गई पहचानuid=1000(git) gid=1000(git)

सफल शोषण ने निम्नलिखित के समान कमांड आउटपुट उत्पन्न किया:

root@kitploit:~
uid=1000(git) gid=1000(git) groups=1000(git)
Linux 6.12.20-amd64 x86_64
/data/gitea/tmp/local-repo/upload.git630501597
[exit-status=0]

Proof-of-concept output

पूर्वापेक्षाएँ

  • Python 3.8 या बाद का संस्करण
  • लक्ष्य Gitea इंस्टेंस तक नेटवर्क पहुँच
  • रिपॉज़िटरी निर्माण और लेखन अनुमतियों वाला एक वैध Gitea खाता, या सार्वजनिक पंजीकरण सक्षम वाला एक लक्ष्य प्रयोगशाला इंस्टेंस
  • एक स्पष्ट रूप से अधिकृत परीक्षण वातावरण

स्क्रिप्ट केवल Python की मानक लाइब्रेरी का उपयोग करती है और इसके लिए अतिरिक्त पैकेजों की आवश्यकता नहीं है।

उपयोग

root@kitploit:~
python3 gitea_diffpatch_rce.py <base_url> <username> <password> "<command>"

स्थानीय प्रयोगशाला इंस्टेंस के लिए उदाहरण:

root@kitploit:~
python3 gitea_diffpatch_rce.py \
  http://127.0.0.1:3000 \
  pocuser \
  'P@ssw0rd!' \
  'id; uname -a'

स्क्रिप्ट पहले वेब पंजीकरण का प्रयास करती है, फिर दिए गए क्रेडेंशियल्स के साथ प्रमाणित करती है। यह उसी कमांड को खुले पंजीकरण वाले इंस्टेंस पर नए खाते के साथ या किसी मौजूदा खाते के साथ काम करने देती है।

तकनीकी विश्लेषण

शोषण श्रृंखला में चार चरण होते हैं:

  1. हमलावर-नियंत्रित पैच सबमिशन
    POST /api/v1/repos/{owner}/{repo}/diffpatch एक अस्थायी क्लोन के भीतर git apply --index --recount --cached --binary --ignore-whitespace --whitespace=fix -3 का उपयोग करके दिए गए पैच सामग्री को लागू करता है।

  2. हुक पथ स्थापन
    अस्थायी रिपॉज़िटरी एक बेयर, साझा क्लोन के रूप में बनाई जाती है। एक बेयर रिपॉज़िटरी में, रिपॉज़िटरी रूट ही $GIT_DIR भी होता है; परिणामस्वरूप, पैच पथ hooks/post-index-change Git की सक्रिय hooks निर्देशिका के भीतर हल हो जाता है।

  3. निष्पादन योग्य हुक का भौतिकीकरण
    वही पैच दो बार सबमिट किया जाता है। दूसरा अनुप्रयोग एक add/add विरोध उत्पन्न करता है, जिससे तीन-तरफ़ा फ़ॉलबैक --cached के उपयोग के बावजूद पथ को मोड 100755 के साथ डिस्क पर भौतिक रूप दे देता है। इसके बाद का इंडेक्स अपडेट post-index-change को आमंत्रित करता है, जो इंजेक्ट किए गए शेल कोड को Gitea सेवा खाते के रूप में निष्पादित करता है।

  4. Git-मूल आउटपुट पुनर्प्राप्ति
    हुक objects/info/alternates के माध्यम से मूल रिपॉज़िटरी की पहचान करता है, कमांड आउटपुट को Git blob के रूप में संग्रहीत करता है, एक tree और commit बनाता है, और refs/heads/output-leak को अपडेट करता है। इसके बाद प्रूफ ऑफ कॉन्सेप्ट Gitea के raw-file API के माध्यम से परिणाम प्राप्त करता है। इस तकनीक के लिए लक्ष्य से सीधे आउटबाउंड कनेक्शन की आवश्यकता नहीं होती।

प्रभाव

सफल शोषण Gitea सेवा खाते के विशेषाधिकारों के साथ कमांड निष्पादन प्रदान करता है। परिनियोजन कॉन्फ़िगरेशन के आधार पर, एक हमलावर निम्नलिखित तक पहुँच सकता है:

  • app.ini और डेटाबेस क्रेडेंशियल्स
  • SECRET_KEY, INTERNAL_TOKEN, और LFS-संबंधित सीक्रेट्स
  • Gitea प्रक्रिया द्वारा माउंट या पठनीय रिपॉज़िटरी
  • प्रक्रिया पर्यावरण चर
  • Gitea होस्ट या कंटेनर से पहुँच योग्य आंतरिक सेवाएँ

प्रयोगशाला खाते के पास app.ini तक पढ़ने की पहुँच की पुष्टि की गई थी।

समझौते के संकेतक

रक्षकों को निम्नलिखित आर्टिफ़ैक्ट्स और अनुरोध पैटर्न की जाँच करनी चाहिए:

  • /api/v1/repos/*/*/diffpatch पर तेज़ी से क्रम में दो समान या लगभग समान अनुरोध
  • output-leak नाम की एक ब्रांच
  • poc <[email protected]> द्वारा लेखित कमिट
  • बेयर रिपॉज़िटरी या अस्थायी क्लोन निर्देशिकाओं में hooks/post-index-change नाम की अप्रत्याशित निष्पादन योग्य फ़ाइलें
  • /data/gitea/tmp/local-repo/upload.git* जैसे पथों के नीचे संदिग्ध गतिविधि

ये संकेतक शामिल प्रूफ ऑफ कॉन्सेप्ट का वर्णन करते हैं और संपूर्ण नहीं हैं; एक संशोधित एक्सप्लॉइट भिन्न पथ, refs, पहचान, या आउटपुट चैनलों का उपयोग कर सकता है।

उपचार और शमन

  1. Gitea 1.27.1 या बाद के संस्करण में अपग्रेड करें। यह अनुशंसित उपचार है। यह फ़िक्स प्रभावित वर्कफ़्लो को एक गैर-बेयर अस्थायी क्लोन का उपयोग करने के लिए बदल देता है।
  2. अपग्रेड पूरा होने तक रिवर्स प्रॉक्सी पर diffpatch API को प्रतिबंधित करें, उदाहरण के लिए मेल खाते /api/v1/.../diffpatch रूटों तक पहुँच अस्वीकार करके। परिनियोजन से पहले वैध इंटीग्रेशन के विरुद्ध नियम को सत्यापित करें।
  3. सार्वजनिक पंजीकरण अक्षम करें यदि यह परिचालनात्मक रूप से आवश्यक नहीं है तो DISABLE_REGISTRATION=true सेट करके। यह अप्रमाणित पहुँच को कम करता है लेकिन रिपॉज़िटरी लेखन पहुँच वाले मौजूदा उपयोगकर्ताओं से सुरक्षा नहीं देता।
  4. लॉग और रिपॉज़िटरी refs की समीक्षा करें उपरोक्त संकेतकों के लिए, और यदि समझौते का संदेह हो तो Gitea खाते द्वारा पहुँच योग्य क्रेडेंशियल्स या सीक्रेट्स को रोटेट करें।

इस शोध में उपयोग किए गए प्रयोगशाला कंटेनर के लिए, टियरडाउन निम्नलिखित के साथ किया जा सकता है:

root@kitploit:~
docker rm -f gitea-lab

ज़िम्मेदार उपयोग

यह सामग्री रक्षकों को भेद्यता को पुनरुत्पादित करने, समझने, पहचानने और उपचार करने में सहायता के लिए प्रदान की गई है। ऑपरेटरों को केवल पृथक वातावरणों में परीक्षण करना चाहिए और अपने संगठन की प्राधिकरण और प्रकटीकरण आवश्यकताओं का पालन करना चाहिए।

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