UBUNTU-CVE-2026-120459: Critical severity ubuntu/python-jose vulnerability
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.
Affected Software
Event History
Frequently Asked Questions
Which deployments are exposed to token forgery?
Deployments using python-jose through 3.5.0 are exposed if they verify HS256, HS384, or HS512 JWTs with a key that resolves to an empty value. An example is an oct JWK whose k field is empty.
What does an attacker need to exploit this issue?
The attacker does not need authentication or user interaction. They need the application to accept JWTs signed with an HMAC verification key that resolves to an empty secret, after which they can forge tokens with arbitrary claims accepted by jwt.decode.
Is every application using python-jose affected by default?
The issue is conditional on use of HMAC JWT verification with an empty resolved key. The provided information does not establish that all python-jose configurations use such a key by default.
How can I identify an affected configuration?
Review HS256, HS384, and HS512 verification-key configuration and JWK processing for values that can resolve to an empty secret. In particular, identify oct JWKs with an empty k value and any missing or empty key material passed to JWT verification.