CVE Catalog

CVE-2026-102275

MediumCVSS 6.5
Published: Translated: NVD NIST

Summary

PyJWT is a Python implementation of JSON Web Token standards. From 2.1.0 until 2.15.0, PyJWT OKPAlgorithm.from_jwk in jwt/algorithms.py is affected because private-JWK import path does not compare the public key derived from d with x. This occurs when an OKP private JWK supplies non-corresponding x and d components. As a result, identity derived from x can differ from operations performed with d.

Risk Assessment

If an integration also accepts private key parameters from a proof header without rejecting them, an attacker may use a stolen sender-constrained token without the legitimate private key. This can lead to bypassing identity checks and unauthorized access.

Recommendation

Upgrade PyJWT to version 2.15.0 or later, which compares the public key derived from d with x. Ensure integrations do not accept private key parameters from proof headers.

Other vulnerabilities in PyJWT

See all
Original NVD description (English source)

PyJWT is a Python implementation of JSON Web Token standards. From 2.1.0 until 2.15.0, PyJWT OKPAlgorithm.from_jwk in jwt/algorithms.py is affected because private-JWK import path does not compare the public key derived from d with x. This occurs when an OKP private JWK supplies non-corresponding x and d components. As a result, identity derived from x can differ from operations performed with d. Consequently, if an integration also accepts private key parameters from a proof header without rejecting them, an attacker may use a stolen sender-constrained token without the legitimate private key. This issue is fixed in version 2.15.0.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS