python-jose through 3.5.0 Authentication Bypass via Empty HMAC Key
Affects python-jose through 3.5.0 when an HMAC key is empty (zero-length). No fixed version is listed in the checked facts.
Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.
- Exploited
- No known exploitation
- Fix
- No fix listed
- Who is exposed
- Not reported
Do first: Workaround: The checked facts list no fix. Until one is available, make sure no HMAC signing or verification key is empty, for example by rejecting oct JWKs with an empty k value before they reach python-jose.
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- Published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- A 0-100 score for how much a CVE matters across the industry: exploitation, exposure, how widely the software is used, severity and whether a fix exists.What do these mean? →
- 21/100 · provisional
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Unclear
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
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.
What to do
Workaround: The checked facts list no fix. Until one is available, make sure no HMAC signing or verification key is empty, for example by rejecting oct JWKs with an empty k value before they reach python-jose.
Timeline
- CVE published
- First seen by cve.now
- Posted on X by cve.now
Affected versions
- mpdavis python-jose
through 3.5.0
Evidence 4
- Report
- Repository
- Repository
- Link
Corrections
None so far.
Something wrong on this page? Report an error. Every fix is listed here.
Questions about CVE-2026-120459
What does this mean?
python-jose's HMAC code accepts zero-length keys because nothing rejects them. If an application uses an empty key to verify or sign tokens, an attacker can forge JWT tokens that the application accepts as valid, with arbitrary claims.Source: github.com
Am I affected, and how do I check?
Versions through 3.5.0 of python-jose are in the affected range. The issue applies only where a code path uses an empty (zero-length) HMAC key, such as an oct JWK with an empty k value. Check the key material used for HMAC verification or signing.Source: github.com
What should I do about it?
The checked facts do not name a fixed version, so no upgrade target can be given. Check HMAC keys for empty values and watch the project for a release that rejects zero-length keys.Source: github.com
Is it being exploited?
It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data
What if there's no patch?
The checked facts list no fix. Until one is available, make sure no HMAC signing or verification key is empty, for example by rejecting oct JWKs with an empty k value before they reach python-jose.Source: github.com