Description
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.
Published: 2026-11-02
Score: 9.1 Critical
EPSS: n/a
KEV: No
Impact: Authentication By-pass via Empty HMAC Key
Action: Immediate Patch
AI Analysis

Impact

python-jose versions up to 3.5.0 contain an authentication by-pass that allows an attacker to forge JSON Web Tokens when the HMAC secret is an empty string. The flaw arises because the library accepts zero‑length HMAC secrets in HMACKey and CryptographyHMACKey, allowing HS256/HS384/HS512 verification to succeed on crafted tokens. This can lead to unauthorized access, privilege escalation, or other abuse of the application’s authentication system.

Affected Systems

The vulnerability affects the Python‑Jose library, maintained by mpdavis, in all releases up to and including version 3.5.0. Any application that uses this library for token parsing and accepts JWTs signed with an empty key is at risk.

Risk and Exploitability

The CVSS score of 9.1 indicates a high severity flaw. Exploitation is possible by sending a JWT with an empty HMAC key that the application will accept. Because the EPSS score is not available, the likelihood of widespread exploitation cannot be precisely measured, and the vulnerability is not listed in the CISA KEV catalog. Attackers are likely to target any service that uses python‑jose to verify tokens and has misconfigured or missing key validation, allowing forgery of tokens with arbitrary claims.

Generated by OpenCVE AI on November 2, 2026 at 15:38 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade python‑jose to the latest released version that provides a non‑empty key check for HMAC-based JWT verification
  • Ensure that all JWKs or secret keys used for HS256/HS384/HS512 verification are non‑empty and validated before use
  • Modify application code or configuration to reject empty HMAC keys and enforce minimum key length requirements (e.g., at least 128 bits for secure HMAC keys)

Generated by OpenCVE AI on November 2, 2026 at 15:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 02 Nov 2026 14:30:00 +0000

Type Values Removed Values Added
Description 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.
Title python-jose through 3.5.0 Authentication Bypass via Empty HMAC Key
First Time appeared Python-jose Project
Python-jose Project python-jose
Weaknesses CWE-347
CPEs cpe:2.3:a:python-jose_project:python-jose:*:*:*:*:*:*:*:*
Vendors & Products Python-jose Project
Python-jose Project python-jose
References
Metrics cvssV3_1

{'score': 7.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N'}

cvssV4_0

{'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'}


Subscriptions

Python-jose Project Python-jose
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-11-02T14:29:15.767Z

Reserved: 2026-11-02T12:42:23.406Z

Link: CVE-2026-120459

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-11-02T15:17:29.867

Modified: 2026-11-02T19:14:53.030

Link: CVE-2026-120459

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-02T16:30:17Z

Weaknesses
  • CWE-347

    Improper Verification of Cryptographic Signature