
CVE-2026-29000 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो pac4j-jwt में JWE-रैप्ड अनसाइन्ड JWT के माध्यम से प्रमाणीकरण बायपास है, जिससे विशेषाधिकार वृद्धि संभव होती है।
यह टूल केवल शैक्षिक और नैतिक सुरक्षा परीक्षण उद्देश्यों के लिए है। मैं किसी भी रूप में दुर्भावनापूर्ण गतिविधि का समर्थन नहीं करता और न ही करूंगा। अपने जोखिम पर उपयोग करें।
CVE-2026-29000 pac4j-jwt लाइब्रेरी में एक गंभीर भेद्यता (CVSS 10.0) है। यह नेस्टेड (एन्क्रिप्टेड) टोकन को संभालते समय JwtAuthenticator में अनुचित सत्यापन तर्क के कारण उत्पन्न होती है।
यह दोष इसलिए मौजूद है क्योंकि जबकि pac4j सर्वर की कुंजी का उपयोग करके JWE (JSON Web Encryption) टोकन को सही ढंग से डिक्रिप्ट करता है, यह आंतरिक JWT पर हस्ताक्षर सत्यापन लागू करने में विफल रहता है। यह एक हमलावर को एक अहस्ताक्षरित JWT ({"alg": "none"} का उपयोग करके) को एक वैध JWE रैपर के अंदर लपेटने की अनुमति देता है। सर्वर JWE को डिक्रिप्ट करता है, आंतरिक पेलोड पर भरोसा करता है, और पहुंच प्रदान करता है।
pac4j संस्करण 4.5.9, 5.7.9, और 6.3.3 से पहले के।ROLE_ADMIN प्राप्त करना)।प्रदान की गई स्क्रिप्ट, CVE-2026-29000.py, निम्नलिखित चरणों को स्वचालित करती है:
/api/auth/jwks एंडपॉइंट के माध्यम से लक्ष्य की सार्वजनिक RSA कुंजी प्राप्त करता है।alg: none और प्रशासनिक दावों के साथ एक अहस्ताक्षरित JWT तैयार करता है।सुनिश्चित करें कि आपके पास आवश्यक Python लाइब्रेरी स्थापित हैं:
pip install requests jwcrypto
python3 CVE-2026-29000.py <TARGET_URL>
उदाहरण:
python3 CVE-2026-29000.py http://vulnerable-app.local:8080
इस भेद्यता को कम करने के लिए, निम्नलिखित कार्रवाई करें:
pac4j-jwt को तुरंत संस्करण 4.5.9, 5.7.9, या 6.3.3 (या उच्चतर) में अपग्रेड करें।JwtAuthenticator कॉन्फ़िगरेशन स्पष्ट रूप से एक वैध हस्ताक्षर की आवश्यकता रखता है और none एल्गोरिदम की अनुमति नहीं देता है।द्वारा निर्मित: Cipher1x1