CVE-2026-102272
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.
- CVSS 3.1
- 7.4
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - EPSS
- 0.2% chance of exploitation in the next 30 days; higher than 11% of CVEs (scores of 2026-10-25)
- CWE
- CWE-347
- Published
- Modified
- Record from
- the NVD, synced
Affected
- pyjwt_project:pyjwt
Packages (OSV)
| Advisory | Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|---|
| GHSA-r6x4-923q-g947 | PyPI | pyjwt | >=2.13.0 <2.14.0 | 2.14.0 |
| PYSEC-2026-4150 | PyPI | pyjwt | >=2.13.0 <2.14.0 | 2.14.0 |