
Proof-of-concept exploit per CVE-2026-29000, un bypass dell'autenticazione in pac4j-jwt tramite JWT non firmato avvolto in JWE, che consente l'escalation dei privilegi.
Questo strumento è destinato esclusivamente a test di sicurezza etici ed educativi. Non supporto e non supporterò attività dannose in alcun modo, forma o maniera. Usalo a tuo rischio.
CVE-2026-29000 è una vulnerabilità critica (CVSS 10.0) nella libreria pac4j-jwt. Deriva da una logica di validazione impropria in JwtAuthenticator quando gestisce token nidificati (crittografati).
Il difetto esiste perché, mentre pac4j decrittografa correttamente un token JWE (JSON Web Encryption) utilizzando la chiave del server, non applica la verifica della firma sul JWT interno. Ciò consente a un attaccante di avvolgere un JWT non firmato (utilizzando {"alg": "none"}) all'interno di un wrapper JWE valido. Il server decrittografa il JWE, si fida del payload interno e concede l'accesso.
pac4j precedenti alla 4.5.9, 5.7.9 e 6.3.3.ROLE_ADMIN).Lo script fornito, CVE-2026-29000.py, automatizza i seguenti passaggi:
/api/auth/jwks.alg: none e claim amministrativi.Assicurati di avere installate le librerie Python richieste:
pip install requests jwcrypto
python3 CVE-2026-29000.py <TARGET_URL>
Esempio:
python3 CVE-2026-29000.py http://vulnerable-app.local:8080
Per mitigare questa vulnerabilità, adotta le seguenti azioni:
pac4j-jwt alla versione 4.5.9, 5.7.9 o 6.3.3 (o superiore).JwtAuthenticator richieda esplicitamente una firma valida e non consenta l'algoritmo none.Creato da: Cipher1x1