CVE-2026-102266
published 2026-09-28CVE-2026-102266: PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, HMACAlgorithm.from_jwk is affected because PyJWK verification path used…
PriorityP352critical9.1CVSS 3.1
AVNACLPRNUINSUCHIHAN
EPSS
0.22%
13.0th percentile
PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, HMACAlgorithm.from_jwk is affected because PyJWK verification path used the decoded key without applying prepare_key validation. This occurs when a trusted JWK Set contains an oct entry with an empty k value. As a result, an attacker signs an HMAC token with the same zero-length key accepted by PyJWT. Consequently, forged token can carry arbitrary authenticated claims. This issue is fixed in version 2.14.0.
Affected
4 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| jpadilla | pyjwt | — | — |
| pyjwt_project | pyjwt | — | — |
| pyjwt_project | pyjwt | >= 2.13.0 < 2.14.0 | 2.14.0 |
| ubuntu | pyjwt | — | — |
CVSS provenance
nvdv3.19.1CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
vendor_ubuntu9.1CRITICAL
vendor_redhat7.4HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
PyJWT: PyJWK accepts empty HMAC keys, bypassing PyJWT's empty-key validation
ghsa·2026-09-29
CVE-2026-102266 [HIGH] CWE-347 PyJWT: PyJWK accepts empty HMAC keys, bypassing PyJWT's empty-key validation
PyJWT: PyJWK accepts empty HMAC keys, bypassing PyJWT's empty-key validation
### Summary
A service that verifies HS256 tokens using an empty oct JWK through PyJWK, including a PyJWK obtained from PyJWKSet, can therefore accept attacker-generated tokens as authenticated.
PyJWT 2.13.0 rejects an empty HMAC key when it is supplied through the raw `str`/`bytes` key path, but accepts the same zero-length key when it is supplied as a symmetric `PyJWK`.
An `oct` JWK containing an empty Base64URL key value:
```json
{"kty":"oct","k":""}
```
is decoded to `b""`. During signature verification, the `PyJWK` path uses this decoded value directly and does not invoke the empty-key validation in `HMACAlgorithm.prepare_key`. With the default `enforce_minimum_key_length=False`, PyJWT emits a warning an
VulDB
jpadilla PyJWT up to 2.13.0 PyJWK verification path HMACAlgorithm.from_jwk improper authentication
vuldb·2026-09-28·CVSS 7.4
CVE-2026-102266 [HIGH] jpadilla PyJWT up to 2.13.0 PyJWK verification path HMACAlgorithm.from_jwk improper authentication
A vulnerability was found in jpadilla PyJWT up to 2.13.0. It has been classified as critical. This affects the function HMACAlgorithm.from_jwk of the component PyJWK verification path. Performing a manipulation of the argument k results in improper authentication.
This vulnerability is identified as CVE-2026-102266. The attack can be initiated remotely. There is not any exploit available.
Upgrading the affected component is recommended.
Ubuntu
PyJWT vulnerabilities
vendor_ubuntu·2026-10-15·CVSS 9.1
CVE-2026-102268 [CRITICAL] PyJWT vulnerabilities
Title: PyJWT vulnerabilities
Summary: Several security issues were fixed in PyJWT.
USN-8916-1 fixed vulnerabilities in PyJWT. This update provides the
corresponding fix for PyJWT on Ubuntu 26.10.
Original advisory details:
YuSung Han discovered that PyJWT did not properly validate certain JWK keys
when performing HMAC verification. An attacker could possibly use this
issue to forge authentication tokens. (CVE-2026-102266)
Rohan Das discovered that PyJWT incorrectly handled redirects when fetching
key sets. A remote attacker could possibly use this issue to cause PyJWT
to disclose sensitive information. (CVE-2026-102267)
It was discovered that PyJWT incorrectly recognized certain PEM
representations. An attacker who knew the public key could possibly use
this issue to forge authentica
Ubuntu
PyJWT vulnerabilities
vendor_ubuntu·2026-10-13·CVSS 9.1
CVE-2026-102267 [CRITICAL] PyJWT vulnerabilities
Title: PyJWT vulnerabilities
Summary: Several security issues were fixed in PyJWT.
YuSung Han discovered that PyJWT did not properly validate certain JWK keys
when performing HMAC verification. An attacker could possibly use this
issue to forge authentication tokens. This issue only affected Ubuntu
26.04 LTS. (CVE-2026-102266)
Rohan Das discovered that PyJWT incorrectly handled redirects when fetching
key sets. A remote attacker could possibly use this issue to cause PyJWT
to disclose sensitive information. This issue only affected Ubuntu 22.04
LTS, Ubuntu 24.04 LTS, Ubuntu 26.04 LTS. (CVE-2026-102267)
It was discovered that PyJWT incorrectly recognized certain PEM
representations. An attacker who knew the public key could possibly use
this issue to forge authentication tokens. This is
Red Hat
pyjwt: pyjwt: Authentication bypass via empty HMAC key acceptance
vendor_redhat·2026-09-28·CVSS 7.4
CVE-2026-102266 [HIGH] CWE-347 pyjwt: pyjwt: Authentication bypass via empty HMAC key acceptance
pyjwt: pyjwt: Authentication bypass via empty HMAC key acceptance
PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, HMACAlgorithm.from_jwk is affected because PyJWK verification path used the decoded key without applying prepare_key validation. This occurs when a trusted JWK Set contains an oct entry with an empty k value. As a result, an attacker signs an HMAC token with the same zero-length key accepted by PyJWT. Consequently, forged token can carry arbitrary authenticated claims. This issue is fixed in version 2.14.0.
A flaw was found in pyjwt. A remote attacker can forge authentication tokens and bypass security controls by signing tokens with an empty key. When verifying tokens against a JSON Web Key (JWK) set that contains an empty Hash-based M
No detection rules found.
No public exploits indexed.
2026-09-28
Published