Description
PyJWT is a Python implementation of JSON Web Token standards. Prior to 2.14.0, PyJWT PyJWKClient is affected because redirect destinations are not revalidated against the JWKS trust boundary. This occurs when a configured trusted JWKS endpoint returns an attacker-influenced redirect. As a result, PyJWKClient follows the redirect and consumes the redirected response as key material. Consequently, forwarded credentials may be disclosed or verification keys may be substituted. This issue is fixed in version 2.14.0.
Published: 2026-09-28
Score: 7.4 High
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure / Key Substitution
Action: Patch Immediately
AI Analysis

Impact

PyJWT implements JSON Web Token standards; PyJWKClient retrieves signing keys from a JWKS endpoint. Prior to version 2.14.0, a trusted JWKS endpoint that returned an attacker‑controlled redirect was not revalidated against the original trust boundary. The client followed the redirect and treated the redirected payload as key material, allowing the attacker to supply a forged key or cause disclosure of forwarded credentials. This flaw enables information disclosure or substitution of verification keys.

Affected Systems

All installations of the jpadilla:pyjwt library before version 2.14.0 are affected. The vulnerability occurs whenever an application configures a PyJWKClient instance to any JWKS endpoint, regardless of operating system or deployment environment. Every project depending on that version of the library is potentially exposed.

Risk and Exploitability

The CVSS score is 7.4, classifying the issue as high severity. EPSS score is < 1% (0.00157), and it is not listed in the CISA KEV catalog. Exploitation is possible when an attacker can influence or hijack a JWKS endpoint to issue a redirect. Because the redirect is automatically followed, a remote adversary can supply malicious key material or obtain credentials that would otherwise be hidden, compromising token verification integrity or revealing sensitive information. The risk is substantial for applications that trust external JWKS providers or rely on unvalidated network paths.

Generated by OpenCVE AI on September 29, 2026 at 18:06 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the PyJWT library to version 2.14.0 or later.
  • If an upgrade cannot be performed immediately, restrict the PyJWKClient to known, trusted JWKS URLs and perform manual validation of any redirect target to ensure it resolves to the same host that originally provided the JWKS.
  • Confirm that all JWKS requests use TLS and that certificates are validated, and monitor outgoing requests for unexpected redirects, flagging any that occur as potential exploitation attempts.

Generated by OpenCVE AI on September 29, 2026 at 18:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9v7f-9g4p-ffgj PyJWT: PyJWKClient follows redirects when fetching JWKS
History

Wed, 07 Oct 2026 20:45:00 +0000

Type Values Removed Values Added
First Time appeared Pyjwt Project
Pyjwt Project pyjwt
CPEs cpe:2.3:a:pyjwt_project:pyjwt:*:*:*:*:*:*:*:*
Vendors & Products Pyjwt Project
Pyjwt Project pyjwt

Thu, 01 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 29 Sep 2026 13:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-346
References
Metrics threat_severity

None

threat_severity

Important


Tue, 29 Sep 2026 00:00:00 +0000

Type Values Removed Values Added
First Time appeared Jpadilla
Jpadilla pyjwt
Vendors & Products Jpadilla
Jpadilla pyjwt

Mon, 28 Sep 2026 20:45:00 +0000

Type Values Removed Values Added
Description PyJWT is a Python implementation of JSON Web Token standards. Prior to 2.14.0, PyJWT PyJWKClient is affected because redirect destinations are not revalidated against the JWKS trust boundary. This occurs when a configured trusted JWKS endpoint returns an attacker-influenced redirect. As a result, PyJWKClient follows the redirect and consumes the redirected response as key material. Consequently, forwarded credentials may be disclosed or verification keys may be substituted. This issue is fixed in version 2.14.0.
Title PyJWT: PyJWKClient follows redirects when fetching JWKS
Weaknesses CWE-200
CWE-345
CWE-918
References
Metrics cvssV3_1

{'score': 7.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N'}


Subscriptions

Jpadilla Pyjwt
Pyjwt Project Pyjwt
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-01T14:56:29.970Z

Reserved: 2026-09-28T20:11:16.658Z

Link: CVE-2026-102267

cve-icon Vulnrichment

Updated: 2026-10-01T14:56:26.283Z

cve-icon NVD

Status : Analyzed

Published: 2026-09-28T21:17:14.430

Modified: 2026-10-07T20:27:45.713

Link: CVE-2026-102267

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-28T20:23:33Z

Links: CVE-2026-102267 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-29T18:15:08Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-345

    Insufficient Verification of Data Authenticity

  • CWE-346

    Origin Validation Error

  • CWE-918

    Server-Side Request Forgery (SSRF)