---
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-14'
sourceUpdated: '2026-09-14T14:17:13.430'
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
tags:
  - nvd
  - cve.org
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-09-14T13:05:35.325975Z'
epss: 0.00222
epssPercentile: 0.13057
ingestedAt: '2026-09-14T15:23:07.411Z'
---

## 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.
