Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| mpdavis | python-jose | ≤ 3.5.0 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | python-jose | No fix yet | — |
| Ubuntu 22.04 LTS | python-jose | No fix yet | — |
References
- GitHub Issue #414 issue-tracking
- https://github.com/mpdavis/python-jose product
- https://github.com/mpdavis/python-jose/blob/018b310ddb8b50dcfd09a0c152117835a21dd656/jose/backends/native.py technical-description
- https://github.com/mpdavis/python-jose/blob/018b310ddb8b50dcfd09a0c152117835a21dd656/jose/utils.py technical-description
- GitHub Security Advisory (GHSA-6c5p-j8vq-pqhj) related
- VulnCheck Advisory: python-jose through 3.5.0 Algorithm Confusion via DER-encoded Public Key as HMAC Secret third-party-advisory