CVE-2026-48523 PyJWT: Algorithm allow-list bypass when decoding with `PyJWK` / `PyJWKClient` keys

Medium 5.4 Published Updated

Attackers can bypass JWT algorithm allow-lists when using PyJWK keys, allowing tokens signed with disallowed algorithms to be accepted as valid.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-48523?

CVE-2026-48523 is a medium-severity vulnerability in jpadilla pyjwt, published on 28 May 2026. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

PyJWT is a JSON Web Token implementation in Python. From 2.9.0 to 2.12.1, there is a verifier-side algorithm allow-list bypass when jwt.decode() or jwt.decode_complete() are called with a PyJWK key. The token header alg is checked against the caller-supplied algorithms allow-list, but signature verification is performed with the algorithm bound to the PyJWK object instead of the header algorithm. An attacker who controls a registered JWK/JWKS private key can sign with a disallowed algorithm, advertise an allowed algorithm in the JWT header, and still be accepted. The issue affects the documented PyJWKClient.get_signing_key_from_jwt(...) flow. This vulnerability is fixed in 2.13.0.

Weakness: CWE-347

Which versions are affected by CVE-2026-48523?

3 open source packages ship an affected version, including pyjwt. It affects 1 product.

PackageAffectedFixed in
pyjwt PyPIFrom 2.9.02.12.1
pyjwt PyPIFrom 2.9.02.13.0
pyjwt PyPIFrom 2.9.02.13.0

Products include Pyjwt Project Pyjwt.

How do I fix CVE-2026-48523?

Upgrade pyjwt to a fixed version for your release line: 2.12.1 or 2.13.0.

Is CVE-2026-48523 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-48523 exists.

Sources

Also known as BELL-CVE-2026-48523, CLEANSTART-2026-HM72127, DEBIAN-CVE-2026-48523, ECHO-894a-8fa2-a1b5, GHSA-jq35-7prp-9v3f, MINI-2p3c-ghvh-749x and 30 more.

Is CVE-2026-48523 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free