CVE-2026-48523

Public on 2026-05-28
Modified on 2026-05-29
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.
Severity
Medium severity
Medium
See what this means
CVSS v3 Base Score
4.2
See breakdown

Affected Packages

Platform Package Release Date Advisory Status
Amazon Linux 2023 python-jwt Not Affected

CVSS Scores

Score Type Score Vector
Amazon Linux CVSSv3 4.2 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N