---
id: CVE-2026-85394
title: >-
  python-jose through 3.5.0 fails to properly validate asymmetric keys in HMAC
  initialization, accepting DER-encoded public keys that lack PEM armor or SSH
  prefixes
summary: >-
  python-jose through 3.5.0 fails to properly validate asymmetric keys in HMAC
  initialization, accepting DER-encoded public keys that lack PEM armor or SSH
  prefixes. Attackers holding the service's public key can forge HS256 tokens
  that pa…
severity: critical
cvss: 9.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'
cwe:
  - CWE-347
vendor: mpdavis
product: python-jose
affected:
  - python-jose <= 3.5.0
published: '2026-09-03'
updated: '2026-09-24'
sourceUpdated: '2026-09-24T20:43:32.537'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-85394'
references:
  - url: 'https://github.com/advisories/GHSA-6c5p-j8vq-pqhj'
    label: disclosure@vulncheck.com
  - url: 'https://github.com/mpdavis/python-jose'
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/mpdavis/python-jose/blob/018b310ddb8b50dcfd09a0c152117835a21dd656/jose/backends/native.py
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/mpdavis/python-jose/blob/018b310ddb8b50dcfd09a0c152117835a21dd656/jose/utils.py
    label: disclosure@vulncheck.com
  - url: 'https://github.com/mpdavis/python-jose/issues/414'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/python-jose-through-3.5.0-algorithm-confusion-via-der-encoded-public-key-as-hmac-secret
    label: disclosure@vulncheck.com
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-85394'
  - url: 'https://github.com/advisories/GHSA-3qf3-8w2g-rqmx'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-85394.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-85394'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2528187'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-85394'
tags:
  - nvd
  - cve.org
  - ghsa
  - pip
  - csaf
  - vex
  - red-hat
epss: 0.00222
epssPercentile: 0.12737
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-09-14T13:05:35.325975Z'
ingestedAt: '2026-09-14T15:23:07.411Z'
aliases:
  - GHSA-3qf3-8w2g-rqmx
ecosystem: pip
scores:
  nvd: 9.1
  vendor: 7.4
---

## Overview

python-jose through 3.5.0 fails to properly validate asymmetric keys in HMAC initialization, accepting DER-encoded public keys that lack PEM armor or SSH prefixes. Attackers holding the service's public key can forge HS256 tokens that pass verification when algorithms are not explicitly restricted. This is an incomplete fix for CVE-2024-33663.

## Remediation

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

## Package advisory (CVE-2026-85394)

Affected packages:

- `python-jose <= 3.5.0`

Source: https://github.com/advisories/GHSA-3qf3-8w2g-rqmx

## Vendor advisories

- **Red Hat VEX** · Important · affected: Red Hat OpenShift AI (RHOAI) · no fix planned: Red Hat OpenShift AI (RHOAI) · updated 2026-10-06 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-85394.json)
