---
id: CVE-2026-120459
title: python-jose through 3.5.0 Authentication Bypass via Empty HMAC Key
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/HS51…
severity: high
cvss: 7.4
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N'
cvssSource: cna
cwe:
  - CWE-347
vendor: mpdavis
product: python-jose
affected:
  - python-jose <= 3.5.0
published: '2026-11-02'
updated: '2026-11-02'
sourceUpdated: '2026-11-02T14:29:15.767Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-120459'
references:
  - url: 'https://github.com/mpdavis/python-jose/issues/398'
  - url: 'https://github.com/mpdavis/python-jose/blob/3.5.0/jose/backends/native.py'
  - url: >-
      https://github.com/mpdavis/python-jose/blob/3.5.0/jose/backends/cryptography_backend.py
  - url: >-
      https://www.vulncheck.com/advisories/python-jose-through-3.5.0-authentication-bypass-via-empty-hmac-key
    label: >-
      VulnCheck Advisory: python-jose through 3.5.0 Authentication Bypass via
      Empty HMAC Key
tags:
  - cve.org
epss: 0.00251
epssPercentile: 0.16568
ingestedAt: '2026-11-05T19:30:42.662Z'
---

## Overview

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

- `python-jose <= 3.5.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
