CVE-2026-102265: jpadilla pyjwt · Uncontrolled Recursion
Affects jpadilla pyjwtSource CVE Database V5
Not known to be exploited · CVSS 5.3 Medium : upgrade to 2.14.0 when convenient.
Data as of 12 Nov 2026, 23:24 UTC
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 28% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 2.14.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LExploitation evidence
Disclosed: evidence found.
CVE published 28 Sep 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 13 Nov 2026.
What to do
Upgrade jpadilla pyjwt to 2.14.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| jpadillapyjwt | Affected
| Fixed in
|
PyPIpyjwtpkg:pypi/pyjwtOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade PyJWT to version 2.14.0 or later, which includes a fix that catches RecursionError during JWT header parsing and raises DecodeError instead. This prevents unhandled exceptions and ensures malformed tokens are safely rejected. Until upgrading, consider implementing additional input validation or limiting token size and nesting depth at the application level. No other actions are required as the fix is officially released.
Description
PyJWT versions from 2.13.0 up to but not including 2.14.0 contain a vulnerability where deeply nested JSON arrays in the JWT header cause a RecursionError during parsing. This error is not caught by the library's usual exception handling, resulting in an HTTP 500 server error and a full traceback logged. This allows unauthenticated attackers to cause a denial of service on JWT validation endpoints without crashing the server or exposing data. The issue is fixed in PyJWT 2.14.0.