
Rust-basierter Exploit-Generator für CVE-2026-29000, eine Authentifizierungsumgehung in pac4j-jwt über alg:none-JWT, das in JWE verschachtelt ist, mit Automatisierung des JWKS-Abrufs und der Token-Fälschung für autorisierte Tests.
Dieses Repository enthält eine spezialisierte Rust-Implementierung zur Ausnutzung von CVE-2026-29000, einer Authentifizierungs-Bypass-Schwachstelle in pac4j-jwt. Die Schwachstelle beruht auf einem „Signature Validation Skip", wenn ein PlainJWT (alg: none) in einem verschlüsselten JWE-Container verschachtelt ist.
Automatisierter JWKS-Abruf: Ruft die öffentlichen RSA-Schlüssel des Ziels direkt vom Endpunkt /api/auth/jwks ab.
Erstellung ungesicherter JWS: Erstellt ein JWT mit dem None-Algorithmus und administrativen Claims (ROLE_ADMIN).
JWE-Wrapper: Kapselt das bösartige innere Token mit RSA-OAEP-256 und A128GCM, um anfängliche Perimeter-Filter zu umgehen.
Asynchrone Ausführung: Unterstützt durch tokio und reqwest für effiziente Netzwerkkommunikation.
Rust/Cargo installiert.
Netzwerkzugriff auf das Ziel (Standard: http://principal.htb:8080).
Installation Klonen Sie das Repository:
git clone https://github.com/0xW1LD/CVE-2026-29000.git
cd CVE-2026-29000
Führen Sie den Exploit-Generator aus, um das gefälschte JWE auszugeben:
cargo run
Der Exploit zielt auf einen Logikfehler ab, bei dem die Bibliothek das äußere JWE entschlüsselt, aber die Signatur des inneren JWS nicht rekursiv validiert, wenn der Header alg: none angibt.
Innere Schicht: Ein JWT mit alg: None, das den Admin-Subject enthält.
Äußere Schicht: Das innere JWT wird mit dem eigenen öffentlichen Schlüssel des Servers verschlüsselt.
Ergebnis: Der Server entschlüsselt das Token, erkennt, dass es korrekt verschlüsselt wurde, und vertraut der inneren Nutzlast, ohne auf eine Signatur zu prüfen.
Dieses Tool dient nur zu Bildungszwecken und für autorisierte Sicherheitstests (CTF/Lab-Umgebungen). Unbefugter Zugriff auf Computersysteme ist illegal.