
स्थानीय लैब जो pac4j-jwt में CVE-2026-29000 JWT/JWE प्रमाणीकरण बाईपास का अनुकरण करती है। Dockerized Java/SparkJava वातावरण में वेब शोषण का अभ्यास करने के लिए लॉगिन, टोकन फोर्जिंग और डैशबोर्ड APIs प्रदान करती है।
यह Lab Java/SparkJava JWT/JWE प्रमाणीकरण दोष का अनुकरण करता है जो CVE-2026-29000 से संबंधित है। एप्लिकेशन पोर्ट 4567 पर चलता है और मान्य लॉगिन प्रवाह, नकली टोकन निर्माण और डैशबोर्ड परीक्षण के लिए API प्रदान करता है।
CVE-2026-29000 pac4j-jwt के उन संस्करणों को प्रभावित करता है जो 4.5.9, 5.7.9 और 6.3.3 से पुराने हैं। यह दोष JwtAuthenticator में एन्क्रिप्टेड JWT/JWE प्रोसेस करते समय होता है, जो कुछ प्रमाणीकरण प्रवाहों में हमलावर को प्रमाणीकरण टोकन बनाने (forge) की अनुमति देता है।
उपयोग में आने वाली शाखा के अनुसार न्यूनतम अपग्रेड संस्करण:
4.x: 4.5.9 या उससे नया संस्करण5.x: या उससे नया संस्करण5.7.96.x: 6.3.3 या उससे नया संस्करणप्रोजेक्ट की रूट डायरेक्टरी में, चलाएँ:
docker compose up --build
Build पूरा होने के बाद, खोलें:
http://localhost:4567
Lab बंद करें:
docker compose down
Image बनाएँ:
docker build -t cve-2026-29000-lab .
Container चलाएँ:
docker run --rm -p 4567:4567 --name cve-2026-29000-lab cve-2026-29000-lab
सर्वर public key जाँचें:
curl http://localhost:4567/api/public-key
lab डायरेक्टरी में जाएँ:
cd lab
एप्लिकेशन चलाएँ:
mvn exec:java
या पहले build करें फिर classpath से चलाएँ:
mvn -DskipTests package dependency:copy-dependencies
java -cp "target/classes;target/dependency/*" com.demo.App
Linux/macOS पर, ; के स्थान पर : उपयोग करें:
java -cp "target/classes:target/dependency/*" com.demo.App
GET / - डेमो चरणों के लिए त्वरित मार्गदर्शिकाPOST /api/login - मान्य टोकन बनाएँPOST /api/forge-token - बाईपास डेमो के लिए टोकन बनाएँGET /api/dashboard - हेडर Authorization: Bearer <token> में टोकन जाँचेंGET /api/public-key - JWK प्रारूप में public key देखेंमान्य लॉगिन:
curl -X POST http://localhost:4567/api/login \
-H "Content-Type: application/json" \
-d "{\"username\":\"user_lucas\",\"role\":\"user\"}"
नकली टोकन बनाएँ:
curl -X POST http://localhost:4567/api/forge-token \
-H "Content-Type: application/json" \
-d "{\"username\":\"admin\",\"role\":\"administrator\"}"
CVE-2026-29000-lab/
|-- Dockerfile
|-- docker-compose.yml
|-- lab/
| |-- pom.xml
| `-- src/main/java/com/demo/
| |-- App.java
| `-- VulnerableAuthenticator.java
`-- README.md
यह Lab केवल स्थानीय वातावरण में सीखने और परीक्षण के लिए है। इसे सार्वजनिक रूप से तैनात न करें या बिना अनुमति वाले सिस्टम पर हमला करने के लिए उपयोग न करें।