PatchSiren cyber security CVE debrief
CVE-2024-33663 mpdavis CVE debrief
The python-jose library through version 3.5.0 improperly validates asymmetric keys in HMAC initialization, allowing DER-encoded public keys without PEM armor or SSH prefixes. This vulnerability enables attackers with the service's public key to forge HS256 tokens that pass verification if algorithms are not explicitly restricted. Affected deployments should verify their configurations and consider updating to a fixed version of python-jose to prevent token forgery. The vulnerability is particularly concerning for defenders responsible for python-jose deployments, as it can lead to unauthorized access if not properly mitigated.
- Vendor
- mpdavis
- Product
- python-jose
- CVSS
- Unknown
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-09-03
- Original CVE updated
- 2026-10-15
- Advisory published
- 2026-09-03
- Advisory updated
- 2026-10-15
Who should care
Defenders responsible for python-jose deployments should assess exposure and verify the validation of asymmetric keys in HMAC initialization to prevent token forgery. This includes reviewing their configurations, restricting algorithm usage, and updating to a fixed version of python-jose. Additionally, defenders should prioritize verifying the validation of asymmetric keys in HMAC initialization and restrict algorithm usage to prevent token forgery.
Why it matters
The python-jose library through version 3.5.0 has a vulnerability that allows token forgery due to improper validation of asymmetric keys in HMAC initialization. Defenders should verify their deployments, restrict algorithm usage, and update to a fixed version.
- Verification of asymmetric key validation in HMAC initialization is required to prevent token forgery.
- Restricting algorithm usage can mitigate the vulnerability.
- Defenders need to update to a version of python-jose that properly validates asymmetric keys.
Technical summary
The python-jose library fails to properly validate asymmetric keys in HMAC initialization, accepting DER-encoded public keys that lack PEM armor or SSH prefixes. This allows attackers holding the service's public key to forge HS256 tokens that pass verification when algorithms are not explicitly restricted. The vulnerability is particularly concerning for defenders responsible for python-jose deployments, as it can lead to unauthorized access if not properly mitigated. Affected deployments should verify their configurations and consider updating to a fixed version of python-jose to prevent token forgery.
Defensive priority
Defenders should prioritize verifying the validation of asymmetric keys in HMAC initialization and restrict algorithm usage to prevent token forgery.
Recommended defensive actions
- Verify the validation of asymmetric keys in HMAC initialization in python-jose versions up to 3.5.0.
- Restrict algorithm usage to prevent token forgery.
- Update to a version of python-jose that properly validates asymmetric keys.
- Review compensating controls for exposed systems while remediation is scheduled and verified.
- Check relevant monitoring, detection, and logs for exposed assets that need extra review.
- Track exceptions, retest remediated assets, and close the item only after evidence is documented.
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up.
Evidence notes
The vulnerability is confirmed in python-jose through version 3.5.0. The issue involves improper validation of DER-encoded public keys in HMAC initialization. Evidence is based on source item details and official CVE metadata. Defenders should verify their deployments and consider updating to a fixed version to prevent exploitation. The vulnerability allows attackers holding the service's public key to forge HS256 tokens that pass verification when algorithms are not explicitly restricted.
Sources and references
Verified primary and authoritative sources
-
CVE-2024-33663 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2024-33663
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2024-33663 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2024-33663
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
python-jose algorithm confusion guard bypassed by DER-encoded public keys
Unverified legacy reference
URL: https://storage.googleapis.com/osv-vulnerabilities/PyPI/GHSA-3qf3-8w2g-rqmx.json
osv_dev
-
Source reference
Unverified legacy reference
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-85394
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/mpdavis/python-jose/issues/414
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/advisories/GHSA-6c5p-j8vq-pqhj
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/mpdavis/python-jose
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/mpdavis/python-jose/blob/018b310ddb8b50dcfd09a0c152117835a21dd656/jose/backends/native.py
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/mpdavis/python-jose/blob/018b310ddb8b50dcfd09a0c152117835a21dd656/jose/utils.py
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://www.vulncheck.com/advisories/python-jose-through-3.5.0-algorithm-confusion-via-der-encoded-public-key-as-hmac-secret
Supplemental source
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.