CVE-2026-85394
python-jose through 3.5.0 Algorithm Confusion via DER-encoded Public Key as HMAC Secret
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
9.3
python-jose through 3.5.0 Algorithm Confusion via DER-encoded Public Key as HMAC Secret
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.
- Record
CVE-2026-85394- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
EUVDEUVD-2026-70671
9.3
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.
- Record
EUVD-2026-70671- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-3qf3-8w2g-rqmx
9.3
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.
- Record
GHSA-3qf3-8w2g-rqmx- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
NVD
9.3
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.
- Record
CVE-2026-85394- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
OSVCVE-2024-33663
6.5
python-jose through 3.3.0 has algorithm confusion with OpenSSH ECDSA keys and other key formats. This is similar to CVE-2022-29217.
- Record
CVE-2024-33663- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-02
OSV
9.3
python-jose through 3.5.0 Algorithm Confusion via DER-encoded Public Key as HMAC Secret
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.
- Record
CVE-2026-85394- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-347
- Updated
- 2026-11-02
Show 7 moreShow less
OSVGHSA-3qf3-8w2g-rqmx
9.3
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.
- Record
GHSA-3qf3-8w2g-rqmx- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
OSVGHSA-6c5p-j8vq-pqhj
9.3
python-jose algorithm confusion with OpenSSH ECDSA keys
python-jose through 3.3.0 has algorithm confusion with OpenSSH ECDSA keys and other key formats. This is similar to CVE-2022-29217.
- Record
GHSA-6c5p-j8vq-pqhj- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-327
- Updated
- 2026-11-02
OSVPYSEC-2026-4298
9.3
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.
- Record
PYSEC-2026-4298- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-85394
9.3
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.
- Record
UBUNTU-CVE-2026-85394- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVCLSA-2026-1791441237 No score
TuxCare security update for python-jose (1 CVE)
TuxCare rebuilt python-jose to address 1 CVE. Fixed in 3.3.0.post3+tuxcare.
- Record
CLSA-2026-1791441237- Updated
- 2026-11-02
OSVPYSEC-2024-232 No score
python-jose through 3.3.0 has algorithm confusion with OpenSSH ECDSA keys and other key formats. This is similar to CVE-2022-29217.
- Record
PYSEC-2024-232- Updated
- 2026-11-02
OSVROOT-APP-PYPI-CVE-2026-85394 No score
CVE-2026-85394 in python-jose - Patched by Root
Root has patched CVE-2026-85394 in the python-jose package for Root:PyPI. Multiple fixed versions available.
- Record
ROOT-APP-PYPI-CVE-2026-85394- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
python-josePyPI |
through 3.5.0 | None known |
python-joseTuxCare:PyPI |
3.3.0 up to 3.3.0.post3+tuxcare, plus listed versions 3.3.0.post1+tuxcare3.3.0.post2+tuxcare |
3.3.0.post3+tuxcare |
python-josePyPI From an advisory covering 2 CVEs |
through 3.5.0, plus listed versions 0.1.00.1.10.1.20.1.30.1.4 Show 33 moreShow less0.1.50.1.60.1.70.1.80.2.00.3.00.4.00.5.00.5.10.5.20.5.30.5.40.5.50.5.60.6.10.6.20.7.01.0.01.1.01.2.01.3.01.3.11.3.21.4.02.0.02.0.12.0.23.0.03.0.13.1.03.2.03.3.03.4.0 |
None known |
python-josePyPI From an advisory covering 2 CVEs |
before 3.4.0, plus listed versions 0.1.00.1.10.1.20.1.30.1.4 Show 32 moreShow less0.1.50.1.60.1.70.1.80.2.00.3.00.4.00.5.00.5.10.5.20.5.30.5.40.5.50.5.60.6.10.6.20.7.01.0.01.1.01.2.01.3.01.3.11.3.21.4.02.0.02.0.12.0.23.0.03.0.13.1.03.2.03.3.0 |
3.4.0 |
python-joseRoot:PyPI |
before 3.5.0+aikido.1 | 3.5.0+aikido.1 |
python-joseUbuntu:22.04:LTS |
All versions, plus listed versions 3.3.0+dfsg-1 |
None known |
python-joseUbuntu:24.04:LTS |
All versions, plus listed versions 3.3.0+dfsg-4 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-85394 is a critical vulnerability (CVSS 9.3) in Mpdavis Python-jose, published April 25, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.22%, the 12th percentile. Fixed in python-jose 3.3.0.post3+tuxcare.
References
github.com/mpdavis/python-jose/issues/414
github.com/mpdavis/python-jose
github.com/mpdavis/python-jose/blob/018b310ddb8b50dcfd09a0c152117835a21dd656/jose/backends/native.py
github.com/mpdavis/python-jose/blob/018b310ddb8b50dcfd09a0c152117835a21dd656/jose/utils.py
github.com/advisories/GHSA-6c5p-j8vq-pqhj
vulncheck.com/advisories/python-jose-through-3.5.0-algorithm-confusion-via-der-encoded-public-key-as-hmac-secret
Show 11 moreShow less
nvd.nist.gov/vuln/detail/CVE-2026-85394
github.com/advisories/GHSA-3qf3-8w2g-rqmx
vicarius.io/vsociety/posts/algorithm-confusion-in-python-jose-cve-2024-33663
github.com/CVEProject/cvelistV5/tree/main/cves/2024/33xxx/CVE-2024-33663.json
nvd.nist.gov/vuln/detail/CVE-2024-33663
github.com/mpdavis/python-jose/issues/346
github.com/CVEProject/cvelistV5/tree/main/cves/2026/85xxx/CVE-2026-85394.json
github.com/pypa/advisory-database/tree/main/vulns/python-jose/PYSEC-2024-232.yaml
pypi.org/project/python-jose
ubuntu.com/security/CVE-2026-85394
cve.org/CVERecord?id=CVE-2026-85394