CVE-2026-29000

CRITICAL LAB

pac4j-jwt <4.5.9/5.7.9/6.3.3 - Auth Bypass

Title source: llm
STIX 2.1

Exploitation Summary

EIP tracks 27 public exploits for CVE-2026-29000. PoCs published by XiaomingX, adminlove520, Strikoder-Premium.

AI-analyzed exploit summary This repository contains a functional proof-of-concept exploit for CVE-2026-29000, an authentication bypass vulnerability in pac4j-jwt. The exploit crafts a PlainJWT with 'alg: none' and wraps it in a JWE encrypted with the target's public key, bypassing signature verification.

Description

pac4j-jwt versions prior to 4.5.9, 5.7.9, and 6.3.3 contain an authentication bypass vulnerability in JwtAuthenticator when processing encrypted JWTs that allows remote attackers to forge authentication tokens. Attackers who possess the server's RSA public key can create a JWE-wrapped PlainJWT with arbitrary subject and role claims, bypassing signature verification to authenticate as any user including administrators.

Exploits (27)

github WORKING POC 10 stars
by XiaomingX · pythonpoc
https://github.com/XiaomingX/data-cve-poc-py-v1/tree/main/2026/CVE-2026-29000

This repository contains a functional proof-of-concept exploit for CVE-2026-29000, an authentication bypass vulnerability in pac4j-jwt. The exploit crafts a PlainJWT with 'alg: none' and wraps it in a JWE encrypted with the target's public key, bypassing signature verification.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt
No auth needed
Prerequisites: Python 3 · requests · jwcrypto · access to target's JWKS endpoint
devstral-2 · analyzed Mar 14, 2026 Full analysis →
github WORKING POC 4 stars
by adminlove520 · pythonpoc
https://github.com/adminlove520/CVE-Poc_All_in_One/tree/main/2026/CVE-2026-29000

This repository contains a functional exploit for CVE-2026-29000, which leverages a vulnerability in pac4j-jwt where an unsigned JWT (alg=none) wrapped in a JWE is accepted as valid. The exploit fetches the server's RSA public key from a JWKS endpoint, crafts an unsigned JWT with arbitrary claims, and encrypts it into a JWE that the server will trust.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt < 4.5.9, < 5.7.9, < 6.3.3
No auth needed
Prerequisites: Access to the target's JWKS endpoint · Python 3.13+ with jwcrypto and requests libraries
devstral-2 · analyzed May 23, 2026 Full analysis →
nomisec WORKING POC 3 stars
by Strikoder-Premium · poc
https://github.com/Strikoder-Premium/CVE-2026-29000-pac4j-jwt

This repository contains a functional exploit for CVE-2026-29000, which targets pac4j-jwt versions prior to 4.5.9, 5.7.9, and 6.3.3. The exploit forges an unsigned JWT (alg=none) and wraps it in a JWE encrypted with the server's RSA public key, bypassing authentication.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt < 4.5.9, < 5.7.9, < 6.3.3
No auth needed
Prerequisites: Access to the target's JWKS endpoint · Python 3.13+ with jwcrypto and requests libraries
devstral-2 · analyzed Jun 12, 2026 Full analysis →
github WORKING POC 3 stars
by Pocland-db · pythonpoc
https://github.com/Pocland-db/cve-pocs/tree/main/2026/CVE-2026-29000

This repository contains a functional Python script that exploits CVE-2026-29000, an authentication bypass vulnerability in pac4j-jwt. The exploit generates a malicious JWT token by wrapping an unsigned token in a JWE, which bypasses signature verification due to improper cryptographic validation.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt < 4.5.9, < 5.7.9, < 6.3.3
No auth needed
Prerequisites: Server's RSA public key (obtainable from JWKS endpoint, TLS certificate, or config files) · Python 3 with jwcrypto library
devstral-2 · analyzed Apr 30, 2026 Full analysis →
nomisec WORKING POC 2 stars
by STK-Security · poc
https://github.com/STK-Security/CVE-2026-29000-pac4j-jwt

This repository contains a functional exploit for CVE-2026-29000, which targets pac4j-jwt versions prior to 4.5.9, 5.7.9, and 6.3.3. The exploit demonstrates an authentication bypass by wrapping an unsigned JWT (alg=none) inside a JWE encrypted with the server's RSA public key.

Classification
Working Poc 100%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt < 4.5.9, < 5.7.9, < 6.3.3
No auth needed
Prerequisites: Access to the target's JWKS endpoint · Python 3.13+ with jwcrypto and requests libraries
devstral-2 · analyzed May 31, 2026 Full analysis →
nomisec WORKING POC 1 stars
by otuva · poc
https://github.com/otuva/CVE-2026-29000

This repository contains a functional proof-of-concept exploit for CVE-2026-29000, an authentication bypass vulnerability in pac4j-jwt. The exploit crafts a PlainJWT with 'alg: none' and wraps it in a JWE encrypted with the target's public key, bypassing signature verification.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt
No auth needed
Prerequisites: Python 3 · requests · jwcrypto · target's JWKS endpoint
devstral-2 · analyzed Mar 14, 2026 Full analysis →
nomisec WORKING POC 1 stars
by kernelzeroday · poc
https://github.com/kernelzeroday/CVE-2026-29000

This repository contains a functional exploit for CVE-2026-29000, an authentication bypass in pac4j-jwt due to improper handling of JWE-wrapped PlainJWT tokens. It includes a Python-based token forger, a Java PoC, and detailed documentation for operationalizing the exploit.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt < 4.5.9 / < 5.7.9 / < 6.3.3
No auth needed
Prerequisites: server's RSA public key or JWKS URL · knowledge of target claims (e.g., subject, roles)
devstral-2 · analyzed Mar 06, 2026 Full analysis →
github WORKING POC
by lucastran05 · javapoc
https://github.com/lucastran05/CVE-2026-29000

This repository contains a functional exploit PoC for CVE-2026-29000, demonstrating an authentication bypass in pac4j-jwt via JWE signature validation circumvention. It includes vulnerable and patched implementations, a lab environment, and a token forging endpoint to exploit the flaw.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt (version not specified)
No auth needed
Prerequisites: Java environment · RSA key pair · network access to target
devstral-2 · analyzed Jun 01, 2026 Full analysis →
github WORKING POC
by c0gnit00 · pythonpoc
https://github.com/c0gnit00/CVE-2026-29000

This repository contains a functional exploit for CVE-2026-29000, demonstrating an authentication bypass in pac4j JWT implementation by crafting an unsigned JWT with arbitrary claims and wrapping it in a JWE token using the server's public key.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j JWT implementation
No auth needed
Prerequisites: Accessible JWKS endpoint · Server accepts unsigned JWTs with 'alg: none' · Server processes JWE-wrapped tokens without validating inner JWT signature
devstral-2 · analyzed May 30, 2026 Full analysis →
github WORKING POC
by XZ1r0 · pythonpoc
https://github.com/XZ1r0/cve-2026-poc-collection/tree/main/cloud/CVE-2026-29000

This repository contains a functional exploit for CVE-2026-29000, an authentication bypass vulnerability in pac4j-jwt. The exploit forges a JWE-wrapped PlainJWT using only the server's RSA public key, allowing an attacker to authenticate as any user with arbitrary roles without requiring a private key or signature verification.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt (versions before 4.5.9, 5.7.9, 6.3.3)
No auth needed
Prerequisites: Access to the server's RSA public key (via JWKS endpoint or other means)
devstral-2 · analyzed May 21, 2026 Full analysis →
nomisec WORKING POC
by tc4dy · poc
https://github.com/tc4dy/CVE-2026-29000-PoC-Exploit

This repository contains a functional exploit for CVE-2026-29000, targeting the pac4j-jwt library. The exploit automates the process of extracting the server's public JWKS key, forging a JWT with 'alg: none', encrypting it into a JWE using the server's public key, and achieving authentication bypass to gain administrative privileges.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt < 5.1.5, 4.x < 4.5.8, 3.x < 3.18.6
No auth needed
Prerequisites: Access to the target server's JWKS endpoint · Python environment with required libraries (requests, pyjwt, cryptography, jwcrypto)
devstral-2 · analyzed May 13, 2026 Full analysis →
nomisec WRITEUP
by ledksv · poc
https://github.com/ledksv/Principal-HackTheBox

This repository provides a detailed technical walkthrough of exploiting CVE-2026-29000 in pac4j-jwt v6.0.3, including JWT authentication bypass, API enumeration, and SSH CA private key abuse for privilege escalation.

Classification
Writeup 100%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt v6.0.3
No auth needed
Prerequisites: Access to unauthenticated JWKS endpoint · Python environment for PoC execution
devstral-2 · analyzed May 06, 2026 Full analysis →
github WORKING POC
by strikoder · pythonpoc
https://github.com/strikoder/CVE-2026-29000-pac4j-jwt

The repository contains a functional exploit for CVE-2026-29000, which leverages a vulnerability in pac4j-jwt where an unsigned PlainJWT (alg=none) is accepted if wrapped inside a JWE. The exploit fetches the server's RSA public key from a JWKS endpoint, forges an unsigned JWT with arbitrary claims, encrypts it into a JWE, and outputs the token for use in authentication bypass.

Classification
Working Poc 100%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt < 4.5.9 / 5.7.9 / 6.3.3
No auth needed
Prerequisites: Access to the target's JWKS endpoint · Python 3.13+ with jwcrypto and requests libraries
devstral-2 · analyzed May 04, 2026 Full analysis →
github WORKING POC
by jake-young-dev · pythonpoc
https://github.com/jake-young-dev/CVE-2026-29000

This repository contains a functional Python exploit for CVE-2026-29000, an authentication bypass vulnerability in the pac4j-jwt library. The exploit crafts a JWE-wrapped JWT with arbitrary roles using the 'none' algorithm and a public RSA key fetched from an exposed endpoint, granting admin-level access without authentication.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt library (versions before 4.5.9, 5.7.9, or 6.3.3)
No auth needed
Prerequisites: Publicly accessible /api/auth/jwks endpoint · Python3 environment with jwcrypto library
devstral-2 · analyzed Apr 30, 2026 Full analysis →
nomisec WORKING POC
by cipher1x1 · poc
https://github.com/cipher1x1/CVE-2026-29000

The repository contains a functional Python script that exploits CVE-2026-29000, an authentication bypass vulnerability in pac4j-jwt. The exploit crafts an unsigned JWT with administrative claims, wraps it in a JWE using the target's public key, and sends it to a protected endpoint to gain unauthorized access.

Classification
Working Poc 100%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt versions prior to 4.5.9, 5.7.9, and 6.3.3
No auth needed
Prerequisites: Target URL with exposed /api/auth/jwks endpoint · Python environment with requests and jwcrypto libraries
devstral-2 · analyzed Apr 17, 2026 Full analysis →
nomisec WRITEUP
by Gajraj238 · poc
https://github.com/Gajraj238/CVE-2026-29000

This repository contains a detailed technical analysis of CVE-2026-29000, an authentication bypass vulnerability in pac4j-jwt. The writeup explains the root cause, which involves improper verification of cryptographic signatures in JWE-wrapped PlainJWT tokens, allowing attackers to bypass signature verification and authenticate as any user.

Classification
Writeup 100%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt versions prior to 4.5.9, 5.7.9, and 6.3.3
No auth needed
Prerequisites: server's RSA public key
devstral-2 · analyzed Apr 10, 2026 Full analysis →
nomisec WORKING POC
by yasirr10 · poc
https://github.com/yasirr10/CVE-2026-29000

This repository contains a functional exploit for CVE-2026-29000, an authentication bypass in pac4j-jwt. The exploit forges a valid admin token using only the public key from the /jwks endpoint by creating an unsigned PlainJWT (alg: none) inside a JWE envelope.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt ≤ 6.0.3
No auth needed
Prerequisites: access to the target's JWKS endpoint · Python environment with required libraries (jwcrypto, requests)
devstral-2 · analyzed Apr 09, 2026 Full analysis →
nomisec WORKING POC
by 0xW1LD · poc
https://github.com/0xW1LD/CVE-2026-29000

This repository contains a functional Rust exploit for CVE-2026-29000, an authentication bypass vulnerability in pac4j-jwt. The exploit crafts a malicious JWT with 'alg: none' nested within an encrypted JWE container, bypassing signature validation.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt
No auth needed
Prerequisites: Rust/Cargo installed · Network access to the target
devstral-2 · analyzed Apr 09, 2026 Full analysis →
nomisec WORKING POC
by ClayOfGilgamesh · poc
https://github.com/ClayOfGilgamesh/CVE-2026-29000

This repository contains a functional exploit for CVE-2026-29000, an authentication bypass vulnerability in pac4j-jwt. The exploit leverages a JWE (JSON Web Encryption) wrapping a PlainJWT (alg=none) to bypass signature validation, allowing unauthorized access to admin panels.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt < 4.5.9 / 5.7.9 / 6.3.3
No auth needed
Prerequisites: Docker · Python 3.11+ · Java + Maven (for Java PoC)
devstral-2 · analyzed Apr 09, 2026 Full analysis →
nomisec WORKING POC
by PtechAmanja · poc
https://github.com/PtechAmanja/CVE-2026-29000-pac4j-jwt-auth-bypass

This repository contains a functional PoC for CVE-2026-29000, demonstrating an authentication bypass in pac4j-jwt by wrapping an unsigned PlainJWT inside a JWE token. The exploit leverages a logic flaw where the server skips signature verification for PlainJWT tokens after decryption.

Classification
Working Poc 100%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt < 4.5.9 / 5.7.9 / 6.3.3
No auth needed
Prerequisites: server's RSA public key · knowledge of internal claim names
devstral-2 · analyzed Mar 24, 2026 Full analysis →
nomisec WORKING POC
by oil-lamp-cat · poc
https://github.com/oil-lamp-cat/CVE-2026-29000-pac4j-PoC

This PoC exploits CVE-2026-29000 in pac4j-jwt by crafting an unsigned PlainJWT with admin claims, wrapping it in a JWE encrypted with the server's public key, and bypassing signature verification to gain unauthorized access.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt (version <= 6.0.3)
No auth needed
Prerequisites: Server exposes JWKS endpoint · Target application uses pac4j-jwt for authentication
devstral-2 · analyzed Mar 21, 2026 Full analysis →
nomisec WORKING POC
by RootX111 · poc
https://github.com/RootX111/cve-2026-29000

This repository contains a functional exploit for CVE-2026-29000, demonstrating an authentication bypass and privilege escalation vulnerability in a JWT-based authentication system. The exploit generates malicious tokens using the target's public key to impersonate users and escalate privileges.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: JWT-based authentication system (version not specified)
No auth needed
Prerequisites: access to the target's public key or JWKS endpoint
devstral-2 · analyzed Mar 16, 2026 Full analysis →
nomisec WORKING POC
by alihussainzada · poc
https://github.com/alihussainzada/CVE-2026-29000-Python-PoC-pac4j-JWT-AuthenticationBypass-Poc

This repository contains a functional Python PoC for CVE-2026-29000, demonstrating an authentication bypass in pac4j JWT module by crafting a malicious JWE token with an unsigned PlainJWT. The exploit leverages incorrect JWT parsing logic to skip signature verification.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j JWT module
No auth needed
Prerequisites: public key exposed via JWKS endpoint · target application using pac4j JWT module
devstral-2 · analyzed Mar 13, 2026 Full analysis →
nomisec WORKING POC
by Crims-on · poc
https://github.com/Crims-on/CVE-2026-29000

This PoC exploits CVE-2026-29000 by forging a JWE token with an 'alg: none' JWT payload, bypassing authentication in pac4j. It uses a public key to encrypt the token while the inner JWT remains unsecured.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Trivial
Reliability
Reliable
Target: pac4j (JWT authentication)
No auth needed
Prerequisites: public key in PEM format
devstral-2 · analyzed Mar 13, 2026 Full analysis →
nomisec WORKING POC
by manbahadurthapa1248 · poc
https://github.com/manbahadurthapa1248/CVE-2026-29000---pac4j-jwt-Authentication-Bypass-PoC

This repository contains a functional exploit for CVE-2026-29000, demonstrating an authentication bypass in pac4j-jwt by crafting a PlainJWT with admin claims and wrapping it in a JWE token encrypted with the server's RSA public key.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt
No auth needed
Prerequisites: Access to the target's JWKS endpoint · Python environment with required libraries (jwcrypto, requests)
devstral-2 · analyzed Mar 13, 2026 Full analysis →
nomisec WORKING POC
by rootdirective-sec · poc
https://github.com/rootdirective-sec/CVE-2026-29000-Lab

This repository contains a functional library-level PoC for CVE-2026-29000 in pac4j-jwt, demonstrating an authentication bypass via forged JWT tokens. It tests vulnerable (6.0.3, 6.0.4.1) and patched (6.3.3) versions, showing attacker-controlled subject/role injection.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: pac4j-jwt (6.0.3, 6.0.4.1)
No auth needed
Prerequisites: Docker · Java 21 · Maven
devstral-2 · analyzed Mar 11, 2026 Full analysis →

Scores

CVSS v3 9.1
EPSS 0.0586
EPSS Percentile 92.2%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

CISA SSVC

Vulnrichment
Exploitation poc
Automatable yes
Technical Impact total

Lab Environment

COMMUNITY SUSPICIOUS
Community Lab
docker pull eclipse-temurin:21-jre-jammy
docker pull eclipse-temurin:17-jre-alpine
+24 more repos

Details

CWE
CWE-347
Status published
Products (4)
org.pac4j/pac4j-jwt 6.0.4.1 - 6.3.3Maven
pac4j/pac4j-jwt 4.0 - 4.5.9
pac4j/pac4j-jwt 5.0 - 5.7.9
pac4j/pac4j-jwt 6.0 - 6.3.3
Published Mar 04, 2026
Tracked Since Mar 05, 2026