External risk intelligence

python-jose JWT Authentication Bypass via Empty HMAC Secrets.

CVE advisorySeverity: CRITICAL (CVSS 9.1)

CVE-2026-120459

This vulnerability exists in a Python library used for JWT processing. Because JWTs are standard components for authentication and authorization in web applications, APIs, and microservices—many of which are exposed to the public internet—the vulnerable code path is commonly present in internet-facing services.

Authentication Bypass

Halo Surface Signal: 4 out of 5 — likely to be public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

A vulnerability exists in the python-jose library that could allow unauthenticated attackers to bypass authentication by forging security tokens. This occurs because the library may accept empty secrets when verifying certain types of security keys, enabling attackers to create tokens with arbitrary claims.

  • Attackers can forge security tokens.
  • Affects systems using token-based authentication.
  • Confirm relevance and assess exposure.

Attack Path

How an attacker could exploit the issue

An attacker could forge security tokens by exploiting how certain keys are handled, allowing them to bypass authentication checks. This is possible because the library accepts empty secrets for HMAC-based key signing, enabling the creation of tokens that appear legitimate. When an application uses this vulnerable library, an attacker can craft tokens with any desired claims, effectively impersonating users or gaining unauthorized access to resources.

  • Network access is required.
  • Forge JWTs with arbitrary claims.
  • Bypass authentication checks.

Live Threat

Current exploitation, exposure, and threat context

This vulnerability could allow unauthenticated attackers to forge JSON Web Tokens (JWTs) when an application uses the affected library and an empty HMAC secret for verification. This could lead to unauthorized access to protected resources or services.

  • System authentication mechanisms.
  • Forged tokens may bypass access controls.
  • Unauthorized access to services.

Operational Fix

Recommended remediation, mitigation, and detection steps

To address this authentication bypass vulnerability, the first practical move is for application owners and platform teams to identify all instances of the affected Python library. Confirming the exposure and business criticality of these instances will allow for proper prioritization and risk-based remediation planning. Coordination with the vendor may be necessary if custom integrations are in use.

  • Application owners should prioritize remediation.
  • Verify library usage and exposure.
  • Plan maintenance for secure updates.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is python-jose?

python-jose is a widely used library for handling JSON Web Tokens (JWTs) in Python applications. Developers use it to encode, decode, and verify tokens that secure web services, APIs, and microservices. Because it manages the cryptographic signatures that ensure token authenticity, it acts as a gatekeeper for access control in many software environments.

How does CVE-2026-120459 work?

This vulnerability is an authentication bypass related to improper verification (CWE-347). The library fails to reject zero-length, or empty, HMAC secrets during signature validation. If an application's configuration inadvertently uses an empty key, the library incorrectly accepts forged tokens as valid. This allows an attacker to create tokens with arbitrary claims, tricking the system into granting unauthorized access.

What triggers this authentication bypass?

The flaw is triggered when an application utilizes the HS256, HS384, or HS512 algorithms and the system's verification key resolves to an empty value, such as an incorrectly configured JWK. Crucially, the vulnerability does not trigger if the application enforces strong, non-empty secret keys for HMAC operations, as the logic only fails when the key material is absent.

Is my system at risk for CVE-2026-120459?

According to Halo Surface Signal, this risk is higher for internet-facing services. Since many web applications use JWTs for managing user sessions or API authorization, any service directly accessible from the public internet that relies on this library for validation is a potential candidate for exploitation. Internal-only services may be lower priority but still require investigation.

How should I respond to this threat?

Start by auditing your codebase to locate where python-jose is implemented and verify if your current key management practices allow for empty HMAC secrets. Prioritize updating the library if a newer version is available. If an update is not immediately feasible, ensure your application logic explicitly validates that security keys are present and meet minimum length requirements before passing them to the library.

References