Read the docs

PyJWT: Uncaught RecursionError in jwt.decode() on deeply nested token header

Priority MEDIUM 63CWE-674Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · Low
Fix status
Partial Red Hat: 2 fixed, 20 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-674.

Summary

PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, PyJWS._load in jwt/api_jws.py is affected because parser catches ValueError but not RecursionError. This occurs when a deeply nested token header reaches json.loads. As a result, RecursionError escapes the documented PyJWT error hierarchy. Consequently, an unauthenticated malformed token can cause a request-level failure and HTTP 500. This issue is fixed in version 2.14.0.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00343 28th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Partial pyjwt (jpadilla): 2.14.0pyJWT (PyPI): 2.14.0Red Hat: 7 advisoriesRed Hat: 2 fixed, 20 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
jpadillapyjwt2.13.0 to before 2.14.02.14.0Patch availableCNA
—pyJWT (PyPI)2.13.0 to before 2.14.02.14.0Patch availableGHSA-8wjv-2p76-3863
  • pyjwt Vendorjpadilla Affected 2.13.0 to before 2.14.0 Fixed in 2.14.0 Patch available CNA
  • pyJWT (PyPI) Vendor— Affected 2.13.0 to before 2.14.0 Fixed in 2.14.0 Patch available GHSA-8wjv-2p76-3863

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:pyjwt_project:pyjwt:2.13.0:*:*:*:*:*:*:*2.13.0Vulnerablejpadilla
  • cpe:2.3:a:pyjwt_project:pyjwt:2.13.0:*:*:*:*:*:*:* Versions 2.13.0 Vulnerable ·jpadilla

Remediation

  • Fix · CNA pyjwt (jpadilla) Fixed in 2.14.0
  • Fix · GHSA-8wjv-2p76-3863 pyJWT (PyPI) Fixed in 2.14.0 Advisory →

Red Hat 7 advisories

  • RHSA-2026:92452 Released 2026-10-29 · Red Hat rating Critical
    Red Hat Enterprise Linux AI 3.5.2 enhancement update
    • Red Hat Enterprise Linux AI 3.5 registry.redhat.io/rhelai3/bootc-aws-cuda-rhel9, registry.redhat.io/rhelai3/bootc-azure-cuda-rhel9, registry.redhat.io/rhelai3/bootc-azure-rocm-rhel9 +3
  • RHSA-2026:92449 Released 2026-10-29 · Red Hat rating Critical
    Red Hat Enterprise Linux AI 3.5.2 enhancement update
    • Red Hat Enterprise Linux AI 3.5 registry.redhat.io/rhelai3/disk-image-cuda-rhel9
  • RHSA-2026:82415 Released 2026-10-13 · Red Hat rating Critical
    Red Hat AI Inference 3.5.2 (cpu)
    • Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-cpu-rhel9
Show 4 more Red Hat advisories
  • RHSA-2026:82371 Released 2026-10-13 · Red Hat rating Critical
    Red Hat AI Inference 3.5.2 (spyre)
    • Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-spyre-rhel9
  • RHSA-2026:82368 Released 2026-10-13 · Red Hat rating Critical
    Red Hat AI Inference 3.5.2 (cuda)
    • Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-cuda-rhel9
  • RHSA-2026:82061 Released 2026-10-13 · Red Hat rating Critical
    Red Hat AI Inference Tech Preview 3.5.2 (Gaudi)
    • Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-gaudi-rhel9
  • RHSA-2026:82059 Released 2026-10-13 · Red Hat rating Critical
    Red Hat AI Inference 3.5.2 (ROCm)
    • Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-rocm-rhel9

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Ansible Automation Orchestrator 2026AffectedNo fix yet: Fix deferred
Confidential Compute AttestationAffectedNo fix yet: Fix deferred
Fence Agents Remediation OperatorAffectedNo fix yet: Fix deferred
Lightspeed CoreAffectedNo fix yet: Fix deferred
Migration Toolkit for Applications 8AffectedNo fix yet: Fix deferred
OpenShift LightspeedAffectedNo fix yet: Fix deferred
Red Hat AI Inference ServerAffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform 2AffectedNo fix yet: Fix deferred
Red Hat Ceph Storage 4AffectedNo fix yet: Fix deferred
Red Hat Ceph Storage 7AffectedNo fix yet: Fix deferred
Red Hat Ceph Storage 9AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 10AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 9AffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 5AffectedNo fix yet: Fix deferred
Red Hat OpenShift Virtualization 4AffectedNo fix yet: Fix deferred
Red Hat Quay 3AffectedNo fix yet: Fix deferred
Red Hat Satellite 6AffectedNo fix yet: Fix deferred
Red Hat Trusted Artifact SignerAffectedNo fix yet: Fix deferred
Red Hat Update Infrastructure 5AffectedNo fix yet: Fix deferred
Red Hat AI Inference Server 3.5Fixed RHSA-2026:82059, RHSA-2026:82061, RHSA-2026:82368, RHSA-2026:82371, RHSA-2026:82415
Red Hat Enterprise Linux AI 3.5Fixed RHSA-2026:92449, RHSA-2026:92452
Not affected: 12 products
  • Red Hat AI Inference Server
  • Red Hat Ansible Automation Platform 2
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux AI (RHEL AI) 3
  • Red Hat Enterprise Linux command line assistant
  • Red Hat Hardened Images
  • Red Hat OpenStack Platform 13 (Queens)
  • Red Hat OpenStack Platform 16.2
  • Red Hat OpenStack Platform 17.1
  • Red Hat OpenStack Platform 18.0
  • Red Hat Satellite 6
  • Red Hat Update Infrastructure 4 for Cloud Providers

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-102265
  2. 2026-10-03 Alias added: GHSA-8wjv-2p76-3863
  3. 2026-10-09 Affected versions changed · Red Hat
  4. 2026-10-13 Fix available: RHSA-2026:82061 · Red Hat
  5. 2026-10-13 Fix available: RHSA-2026:82059 · Red Hat
  6. 2026-10-13 Fix available: Red Hat AI Inference Server 3.5 · Red Hat
  7. 2026-10-14 Fix available: RHSA-2026:82368 · Red Hat
  8. 2026-10-14 Fix available: RHSA-2026:82415 · Red Hat
  9. 2026-10-14 Fix available: RHSA-2026:82371 · Red Hat
  10. 2026-10-15 Affected versions changed · Red Hat
  11. 2026-10-30 Fix available: RHSA-2026:92452 · Red Hat
  12. 2026-10-30 Fix available: RHSA-2026:92449 · Red Hat
  13. 2026-10-30 Fix available: Red Hat Enterprise Linux AI 3.5 · Red Hat
  14. 2026-10-30 Affected versions changed · Red Hat

References

  • TI-2026-65303 Improper signature verification in jpadilla pyjwt CVSS 3.1CRITICAL 9.1
  • TI-2026-65301 PyJWK accepts empty HMAC keys, bypassing PyJWT's empty-key validation CVSS 3.1CRITICAL 9.1
  • TI-2026-65219 PyJWT: Unauthenticated RecursionError DoS in pre-verification payload parse… CVSS 3.1HIGH 7.5
  • TI-2026-65218 PyJWT: PyJWKClient still amplifies unauthenticated JWKS fetches on unknown kid values (incomplete fix of CVE-2026-48524) CVSS 3.1HIGH 7.5
  • TI-2026-25107 PyJWT accepts unknown `crit` header extensions (RFC 7515 §4.1.11 MUST violation) CVSS 3.1HIGH 7.5
  • TI-2026-65310 PyJWT accepts inconsistent OKP x/d JWKs, causing public/private key identity confusion CVSS 3.1HIGH 8.2
See all 23 →

Sources