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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-85706 — Python PoC जो CVE-2026-85706 का उपयोग करता है, जो GitLab CE/EE में create-commit endpoint के माध्यम से एक unauthenticated path traversal और arbitrary file read है, साथ में file-read oracle भी। | Kitploit
उपकरण/GitHubGitHub/brigadeops32/cve-2026-85706
भेद्यता स्कैनरभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणडेटा निष्कासनजानकारी एकत्र करनावेब सुरक्षापेनिट्रेशन टेस्टिंग
GitHubbrigadeops32/cve-2026-85706

CVE-2026-85706

Python PoC जो CVE-2026-85706 का उपयोग करता है, जो GitLab CE/EE में create-commit endpoint के माध्यम से एक unauthenticated path traversal और arbitrary file read है, साथ में file-read oracle भी।

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

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

सभी देखें →

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

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

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

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

CVE-2026-85706

GitLab CE और EE में अनधिकृत पथ ट्रैवर्सल / मनमाना फ़ाइल पठन। CVSS 10.0. एक स्थानीय लैब में स्व-प्रबंधित 19.3.1 इंस्टेंस के विरुद्ध सत्यापित।

प्रभावित

GitLab CE/EE:

  • 18.7 से 19.1.7 तक
  • 19.2.0 से 19.2.5 तक
  • 19.3.0 से 19.3.1 तक

पूर्व शर्त: इंस्टेंस में कम से कम एक सार्वजनिक प्रोजेक्ट हो। कोई भी वास्तविक प्रोजेक्ट id काम करता है। किसी खाते या टोकन की आवश्यकता नहीं।

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

create-commit एंडपॉइंट POST /api/v4/projects/:id/repository/commits बड़े फ़ाइल बॉडी स्वीकार करता है, इसलिए Workhorse अनुरोध बॉडी को डिस्क पर बफ़र करता है और Rails द्वारा वापस पढ़ने के लिए file.path / file.size मेटाडेटा इंजेक्ट करता है। चार गलतियाँ एक साथ मिलती हैं:

  1. रूट प्रवेश पर केवल require_gitlab_workhorse! की जाँच करता है। वास्तविक authenticate! authorize_push_to_branch! के पीछे बैठता है, जो फ़ाइल पढ़ने के बाद चलता है।
  • file_params_from_body_upload file.path और file.size को सीधे अनुरोध पैरामीटर से लेता है, इसलिए File.read(file_path) आपके द्वारा दिए गए किसी भी निरपेक्ष पथ का अनुसरण करता है।
  • Workhorse का body-upload इंटरसेप्ट .../repository/commits\z से मेल खाता है। अंत में एक ट्रेलिंग स्लैश जोड़ने पर वह रूट छूट जाता है और साइन किए गए रिवर्स प्रॉक्सी पर चला जाता है, जो मान्य JWT के साथ कच्ची बॉडी अग्रेषित करता है। Workhorse जाँच पास हो जाती है, Grape स्लैश को सामान्य कर देता है, और जाली पैरामीटर बच जाते हैं।
  • Content-Type: application/x-www-form-urlencoded के साथ फ़ाइल सामग्री Rack::Utils.parse_nested_query द्वारा पार्स की जाती है। एक अवैध % अनुक्रम ArgumentError: invalid %-encoding (<component>) उठाता है और 400 प्रतिक्रिया उस घटक को शब्दशः प्रतिध्वनित कर देती है।
  • पठन git उपयोगकर्ता के रूप में चलता है। सामग्री तभी वापस आती है जब फ़ाइल में एक अवैध % अनुक्रम हो; अन्यथा आपको फिर भी एक स्पष्ट अस्तित्व और पठनीयता ओरेकल मिलता है:

    प्रतिक्रियाअर्थ
    400 local file not presentफ़ाइल मौजूद नहीं है
    500मौजूद है, git द्वारा पठनीय नहीं
    401मौजूद है और पठनीय है, कोई अवैध % नहीं, कुछ भी प्रतिध्वनित नहीं
    400 invalid %-encoding (...)पठनीय है, घटक प्रतिध्वनित

    डिफ़ॉल्ट omnibus इंस्टॉल पर विश्वसनीय रूप से प्रतिध्वनित होने वाली फ़ाइलें: gitlab.yml (हेडर टिप्पणी जल्दी 95% से टकराती है), CI जॉब लॉग और आर्टिफैक्ट्स, अपलोड किए गए अटैचमेंट, और बाहरी डेटाबेस वाले डिप्लॉयमेंट पर database.yml।

    उपयोग

    root@kitploit:~
    python3 exploit.py -t http://target:8080                 # reads gitlab.yml
    python3 exploit.py -t http://target:8080 -f /etc/passwd
    python3 exploit.py -t http://target:8080 -p 3 -o out.txt
    

    कोई निर्भरता नहीं, केवल stdlib।

    सत्यापित आउटपुट

    docker में gitlab-ce 19.3.1 के विरुद्ध, शून्य क्रेडेंशियल:

    root@kitploit:~
    $ python3 exploit.py -t http://127.0.0.1:8929
    [*] HTTP 400 | leaked
    [+] leaked content of /var/opt/gitlab/gitlab-rails/etc/gitlab.yml:
    ------------------------------------------------------------
    =========================
    
      ## GitLab settings
      gitlab:
        ## Web server settings (note: host is the FQDN, do not include http://)
        host: localhost
        port: 8929
        https: false
        ...
    ------------------------------------------------------------
    

    उसी रन से ओरेकल स्पॉट चेक:

    root@kitploit:~
    /etc/passwd        -> 401 (readable, no echo)
    /etc/shadow        -> 500 (exists, permission denied)
    /etc/nonexistent   -> 400 local file not present
    

    अस्वीकरण

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

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