CVE-2026-101918

HIGH CVSS 3.1: 7.5 EPSS 0.36%
Updated Oct 07, 2026
Python
Parameter Value
CVSS 7.5 (HIGH)
Affected Versions 2.0.0 — 2.15.0
Fixed In 2.15.0
Type CWE-248 (Uncaught Exception)
Vendor Python
Public PoC No

PyJWT is a Python implementation of JSON Web Token standards. From 2.0.0a1 until 2.15.0, PyJWT PyJWKClient.get_signing_key_from_jwt is affected because payload parser catches ValueError but not RecursionError. This occurs when an attacker-controlled recursively nested payload reaches json.loads.

As a result, documented PyJWT exception handling does not contain the failure. Consequently, an unauthenticated request can raise an exception that may produce an HTTP 500 response. The advisory-defined affected implementation also includes jwt/api_jwt.py, verify_signature=False.

This issue is fixed in version 2.15.0.

Attack Parameters

Attack Vector
Network
Can be exploited remotely
Attack Complexity
Low
Easy to exploit
Privileges Required
None
No privileges needed
User Interaction
None
No user interaction needed

Impact Assessment

Confidentiality
None
No data leak
Integrity
None
No data modification
Availability
High
Complete denial of service

CVSS Vector v3.1

Weakness Type (CWE)

Vulnerable Products 1

Configuration From (including) Up to (excluding)
Pyjwt_Project Pyjwt
cpe:2.3:a:pyjwt_project:pyjwt:*:*:*:*:*:*:*:*
2.0.0 2.15.0