CVE-2026-85394: python-jose algorithm confusion guard bypassed by DER-encoded public keys
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.
Published Sep 3, 2026 · Updated Oct 5, 2026
Affected packages
python-jose
- Ecosystem
- PyPI
- Affected
- <= 3.5.0
- Fixed in
- No patched version yet
- Check
pip show python-jose
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
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.
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-85394
- https://github.com/mpdavis/python-jose/issues/414
- https://github.com/advisories/GHSA-6c5p-j8vq-pqhj
- https://github.com/mpdavis/python-jose/blob/018b310ddb8b50dcfd09a0c152117835a21dd656/jose/backends/native.py
- https://github.com/mpdavis/python-jose/blob/018b310ddb8b50dcfd09a0c152117835a21dd656/jose/utils.py
- https://www.vulncheck.com/advisories/python-jose-through-3.5.0-algorithm-confusion-via-der-encoded-public-key-as-hmac-secret
- https://github.com/advisories/GHSA-3qf3-8w2g-rqmx
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
