python-jose through 3.5.0 contains an authentication bypass vulnerability that allows unauthenticated attackers to forge JWTs because HMACKey and CryptographyHMACKey accept zero-length HMAC secrets. When an application's HS256/HS384/HS512 verification key resolves to empty, such as an oct JWK with empty k, attackers can forge tokens with arbitrary claims that jwt.decode accepts.
https://github.com/mpdavis/python-jose/issues/398
https://github.com/mpdavis/python-jose/blob/3.5.0/jose/backends/native.py
https://github.com/mpdavis/python-jose/blob/3.5.0/jose/backends/cryptography_backend.py
Published: 2026-11-02
Updated: 2026-11-02
Base Score: 7.1
Vector: CVSS2#AV:N/AC:H/Au:N/C:C/I:C/A:N
Severity: High
Base Score: 7.4
Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Severity: High
Base Score: 9.1
Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Severity: Critical
EPSS: 0.00251