Skip to main content
← All vulnerabilities
CVE-2026-102272PYSEC-2026-4150GHSA-R6X4-923Q-G947

PyJWT BOM Bypass

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.14.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, HMACAlgorithm.prepare_key in jwt/algorithms.py is affected because raw-JWK detector does not normalize accepted Unicode byte-order marks before checking for JSON. This occurs when a public JWK is prefixed with a UTF-8 BOM and used in a mixed-algorithm verification path. As a result, public JWK bypasses asymmetric-key detection and becomes the HMAC secret. Consequently, an attacker who knows the public key can forge authenticated tokens. This issue is fixed in version 2.14.0.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • jpadilla pyjwt

    From 2.13.0 · fixed in 2.14.0

  • pyjwtPyPI

    From 2.13.0 · fixed in 2.14.0

References 3

GitHub · jpadilla/pyjwt