CVE-2026-48523

Publication date 28 May 2026

Last updated 28 September 2026


Ubuntu priority

Cvss 3 Severity Score

5.4 · Medium

Score breakdown

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.

Read the notes from the security team

Status

Package Ubuntu Release Status
pyjwt 26.04 LTS resolute
Fixed 2.10.1-4ubuntu1.1
25.10 questing Ignored end of life, was needs-triage
24.04 LTS noble
Not affected
22.04 LTS jammy
Not affected
20.04 LTS focal
Not affected
18.04 LTS bionic
Not affected
16.04 LTS xenial
Not affected

Notes


shishirsub10

PyJWK branch only present from resolute

Patch details

For informational purposes only. We recommend not to cherry-pick updates. How can I get the fixes?

Package Patch details
pyjwt

Severity score breakdown

CVSS version: CVSS v3.0

Base score 5.4 · Medium

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N


Access our resources on patching vulnerabilities