PatchSiren

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.