Quick answers
- Is CVE-2026-48523 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-48523 being exploited in the wild.
- How severe is CVE-2026-48523?
- Medium severity, with a CVSS score of 5.4, published 28 May 2026.
- Which products and versions are affected?
- pyjwt (PyPI) ECOSYSTEM:introduced=2.9.0,fixed=2.12.1, ECOSYSTEM:introduced=2.9.0,fixed=2.13.0.
- Is there a fix for CVE-2026-48523?
- Yes. pyjwt (PyPI): upgrade to 2.12.1, 2.13.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-48523 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-48523?
- Check whether you run pyjwt (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- pyjwt (PyPI): upgrade to 2.12.1, 2.13.0 or later
pip install "pyjwt>=2.13.0"
Technical details
A vulnerability in PyJWT's `_verify_signature()` logic in `jwt/api_jws.py` causes an algorithm allow-list bypass when `PyJWK` objects are used for verification. While the library checks the JWT header's `alg` field against the user-provided `algorithms` allow-list, it performs the actual signature verification using the algorithm bound to the `PyJWK` object itself rather than the one specified in the header. An attacker who controls a registered JWK/JWKS private key can sign a token with a disallowed algorithm (e.g., RS256) but set the header to an allowed one (e.g., PS256), and the token will be accepted. This issue affects the documented `PyJWKClient.get_signing_key_from_jwt()` flow and was introduced in version 2.9.0. It is fixed in version 2.13.0.
Affected products
- jpadilla PyJWT >= 2.9.0, < 2.13.0
Identifiers
- CVE-2026-48523
- GHSA-jq35-7prp-9v3f
- PYSEC-2026-176
Timeline
- 2026-05-21: advisory: GitHub Advisory published
- 2026-06-15: disclosed: CVE-2026-48523 published
- patched: Fixed in version 2.13.0