Vulnerability · Published Sep 28, 2026 · Assigned by GitHub_M
CVE-2026-102275PyJWT accepts inconsistent OKP x/d JWKs, causing public/private key identity confusion
Medium 6.5
In plain English
A medium-severity insufficient verification of data authenticity in pyjwt from jpadilla. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 6% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | pyjwt | no fix listed | DEBIAN-CVE-2026-102275 |
| Debian:13 | pyjwt | no fix listed | DEBIAN-CVE-2026-102275 |
| Debian:14 | pyjwt | 2.15.0-1 | DEBIAN-CVE-2026-102275 |
| PyPI | pyjwt | 2.15.0 | PYSEC-2026-4183 |
| PyPI | pyjwt | 2.15.0 | GHSA-x33g-cr3x-6449 |
| Ubuntu:22.04:LTS | pyjwt | 2.3.0-1ubuntu0.6 | USN-8934-1 |
| Ubuntu:22.04:LTS | pyjwt | 2.3.0-1ubuntu0.6 | UBUNTU-CVE-2026-102275 |
| Ubuntu:24.04:LTS | pyjwt | 2.7.0-1ubuntu0.4 | USN-8934-1 |
| Ubuntu:24.04:LTS | pyjwt | 2.7.0-1ubuntu0.4 | UBUNTU-CVE-2026-102275 |
| Ubuntu:26.04:LTS | pyjwt | 2.10.1-4ubuntu1.3 | UBUNTU-CVE-2026-102275 |
| Ubuntu:26.04:LTS | pyjwt | 2.10.1-4ubuntu1.3 | USN-8934-1 |
| Ubuntu:26.10 | pyjwt | 2.13.0-1ubuntu1.1 | USN-8934-1 |
| Ubuntu:26.10 | pyjwt | 2.13.0-1ubuntu1.1 | UBUNTU-CVE-2026-102275 |
Affected products (as reported)
Weakness: CWE-345, CWE-348 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N
References
- https://github.com/jpadilla/pyjwt/security/advisories/GHSA-x33g-cr3x-6449 x_refsource_CONFIRM
- https://github.com/jpadilla/pyjwt/commit/3cd9ceec33ced359decbad75b413ad668ae6332c x_refsource_MISC
- https://github.com/jpadilla/pyjwt/releases/tag/2.15.0 x_refsource_MISC