5.4Medium

Pyjwt Project Pyjwt

CVE-2026-48523

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.

What this means for your business

  • It affects Pyjwt Project Pyjwt. It matters if your company, or a supplier that handles your data, runs it.
  • Code showing how to exploit it has been published, but real attacks have not been confirmed.
  • An attacker can use it remotely, over a network, with an ordinary user login, and without anyone at your company clicking anything.
  • FIRST's prediction model gives it a 0.1% chance of attack attempts being seen in the next 30 days, ranking above 2% of all known flaws.

What to do

  1. 1Check whether your company or your suppliers run Pyjwt Project Pyjwt, and which version. The affected versions are listed further down this page.
  2. 2If you do, apply the vendor's fix. A patch or vendor advisory has been published.

Not sure if your company is exposed?

Fastnexa’s certified penetration testers can check whether attackers could use this flaw, or others like it, against your websites, apps and network. The full test is free for our first 10 founding clients until 31 December 2026.

Scoring

CVSS
5.4 (v3.1)
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
Weakness
CWE-347
Assigned by
security-advisories@github.com

Dates

Published
2026-05-28
Last modified
2026-09-16
Sources
NVD

Affected products

  • Pyjwt Project Pyjwt2.9.0 - 2.13.0

As listed in the NVD configuration data. Not a statement about your estate.

References