Skip to content
Heist/ feed
Medium

PyJWT accepts inconsistent OKP x/d JWKs, causing public/private key identity confusion

Type: advisorySource: Official CVE List1 source record

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.

Announced Source revision 1
Original source ↗

CVE-2026-102275

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-102275

pyjwt

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "vendor": "jpadilla",
    "product": "pyjwt",
    "versions": [
      {
        "status": "affected",
        "version": ">= 2.1.0, < 2.15.0"
      }
    ]
  }
]
Related CVEs
CVE-2026-102275

Source reference: /cveMetadata/cveId

Publisher severity

medium

Source reference: /containers/cna/metrics

Event
#3459 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement