Skip to main content
Public proof of conceptFix available

CVE-2026-102275

A public proof of concept exists; no exploitation attested.

  • Published2026-09-28
  • Fixed in2.15.0
  • WeaknessCWE-345 · CWE-348

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

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.

Timeline

dates in UTC
  1. 2026-09-2821:17CVE publishedNVD

Observed activity

isMalicious corpus · updated 2026-10-23 18:48 UTC
Indicators tagged with this CVE, per day0 indicators over 7 days
Block these indicators
  • Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2026-102275?format=txt
  • CSV export: https://api.ismalicious.com/edl/cve/CVE-2026-102275?format=csv
  • TAXII collection of exploited CVEs
  • The EDL and CSV take an API key on the Pro plan.

Versions per branch

NVD · OSV
Pyjwt project pyjwt
BranchAffectedFixed in
2.x≥ 2.1.0, < 2.15.02.15.0

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Distribution builds and vendor advisories

Packages from OSV.dev and products from the vendors' CSAF advisories.

version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.

Vendor advisories

  • CVE-2026-102275 Red Hat Product Security8 products fixed · 202 known affected

    pyjwt: PyJWT: Token verification bypass via mismatched OKP key components

    ansible-automation-platform/automation-orchestrator-backend-rhel9 as a component of Ansible Automation Orchestrator 2026 · openshift-sandboxed-containers/osc-podvm-builder-rhel9 as a component of Confidential Compute Attestation · workload-availability/fence-agents-remediation-rhel9-operator as a component of Fence Agents Remediation Operator · +199 more

  • RHSA-2026:82415 Red Hat Product Security1 product fixed

    Red Hat Security Advisory: Red Hat AI Inference 3.5.2 (cpu)

  • RHSA-2026:82371 Red Hat Product Security3 products fixed

    Red Hat Security Advisory: Red Hat AI Inference 3.5.2 (spyre)

  • RHSA-2026:82368 Red Hat Product Security2 products fixed

    Red Hat Security Advisory: Red Hat AI Inference 3.5.2 (cuda)

  • RHSA-2026:82061 Red Hat Product Security1 product fixed

    Red Hat Security Advisory: Red Hat AI Inference Tech Preview 3.5.2 (Gaudi)

  • RHSA-2026:82059 Red Hat Product Security1 product fixed

    Red Hat Security Advisory: Red Hat AI Inference 3.5.2 (ROCm)

Full record on NVD

Fix

  1. Update Pyjwt project pyjwt to 2.15.0
  2. Vendor fix Red Hat Product Security RHSA-2026:82415 · 1 productFor more information visit https://access.redhat.com/errata/RHSA-2026:82415
  3. Vendor fix Red Hat Product Security RHSA-2026:82371 · 3 productsFor more information visit https://access.redhat.com/errata/RHSA-2026:82371
  4. Vendor fix Red Hat Product Security RHSA-2026:82368 · 2 productsFor more information visit https://access.redhat.com/errata/RHSA-2026:82368
  5. Vendor fix Red Hat Product Security RHSA-2026:82061 · 1 productFor more information visit https://access.redhat.com/errata/RHSA-2026:82061
  6. Vendor fix Red Hat Product Security RHSA-2026:82059 · 1 productFor more information visit https://access.redhat.com/errata/RHSA-2026:82059
  7. No fix available, says the vendor Red Hat Product Security CVE-2026-102275 · 202 productsFix deferred

Advisories and patches

Detection

Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof-of-concept repositories
none listed
PoC-in-GitHub

Sources

  • CISA-ADPSSVC decisionpoc2026-09-29
  • OpenCVESSVC decisionpoc—
  • CNACVSS 3.16.5read 2026-10-23
  • NVDCVSS 3.18.2read 2026-10-23
  • CNAweakness (CWE)CWE-345, CWE-348read 2026-10-23
  • FIRST EPSSEPSS score0.1 %2026-10-22
  • OSVaffected packages—

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
Published
2026-09-28
Last Modified
2026-10-06
NVD status
Analyzed

Frequently asked questions

What is CVE-2026-102275?

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.

Is CVE-2026-102275 actively exploited?

A proof-of-concept exploit exists for CVE-2026-102275, but active exploitation has not been confirmed at this time.

What is the CVSS score for CVE-2026-102275?

CVE-2026-102275 has a CVSS v3 base score of 8.2 (HIGH severity), with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N.

Running pyjwt? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month