CVE-2026-102265 json
PyJWT: Uncaught RecursionError in jwt.decode() on deeply nested token header
published last mo. modified last mo. also EUVD-2026-88549 , GHSA-8wjv-2p76-3863 , PYSEC-2026-4142
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 28%
- public exploits
- 0
- none known
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.
Patch / fix
- pypi pyjwt 2.14.0
- pyjwt_project pyjwt 2.14.0
- pyjwt Debian 14 2.14.0-1
debian advisories DEBIAN-CVE-2026-102265
- python-jwt Azure Linux 3.0 2.15.1-1
azure linux advisories AZL-105230
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
Is CVE-2026-102265 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-102265 updated cvss 5.3
pyjwt: pyjwt: Denial of Service via deeply nested token headers
-
Red Hat Ansible Automation Orchestrator 2026 ansible-automation-platform/automation-orchestrator-backend-rhel9 Red Hat Confidential Compute Attestation openshift-sandboxed-containers/osc-podvm-builder-rhel9 Red Hat Fence Agents Remediation Operator workload-availability/fence-agents-remediation-rhel9-operator Red Hat Lightspeed Core lightspeed-core/rag-tool-cpu-rhel9, lightspeed-core/lightspeed-stack-rhel9, lightspeed-core/rag-tool-cuda-12.9-rhel9 Red Hat Migration Toolkit for Applications 8 mta/mta-solution-server-rhel9 Red Hat OpenShift Lightspeed openshift-lightspeed/lightspeed-ocp-rag-rhel9, openshift-lightspeed/lightspeed-service-api-rhel9, openshift-lightspeed/lightspeed-agentic-sandbox-rhel9, openshift-lightspeed/lightspeed-to-dataverse-exporter-rhel9affected: no fix available “Fix deferred”
+14 more productsfewer
Red Hat AI Inference Server rhaiis/vllm-cuda-rhel9, rhaiis/vllm-rocm-rhel9 Red Hat Ansible Automation Platform 2 python3.12-pyjwt, automation-controller, ansible-automation-platform-25/hub-rhel8, ansible-automation-platform-26/hub-rhel9, ansible-automation-platform-27/hub-rhel9, ansible-automation-platform-25/gateway-rhel8, +22 more Red Hat Ceph Storage 4 python2-jwt Red Hat Ceph Storage 7 rhceph/rhceph-7-rhel9 Red Hat Ceph Storage 9 rhceph/rhceph-9-rhel9 Red Hat Enterprise Linux 9 fence-virt, fence-virtd, fence-agents, fence-virtd-cpg, fence-virtd-tcp, fence-agents-all, +51 more Red Hat Enterprise Linux 10 fence-agents-common Red Hat OpenShift AI (RHOAI) rhoai/odh-ogx-core-rhel9, rhoai/odh-vllm-gaudi-rhel9, rhoai/odh-kserve-agent-rhel9, rhoai/odh-kserve-router-rhel9, rhoai/odh-feature-server-rhel9, rhoai/odh-llm-d-kv-cache-rhel9, +22 more Red Hat OpenShift Container Platform 5 python-pyjwt Red Hat OpenShift Virtualization 4 openshift-virtualization/konflux-builds/v4-22/ocp-virt-validation-checkup-rhel9 Red Hat Quay 3 quay/quay-rhel8, quay/quay-rhel9 Red Hat Satellite 6 python-pyjwt, python3-pyjwt, python3.12-pyjwt, satellite/foreman-mcp-server-rhel9 Red Hat Trusted Artifact Signer rhtas/segment-reporting-rhel9, rhtas/model-transparency-rhel9 Red Hat Update Infrastructure 5 rhui5/rhua-rhel9, rhui5/rhua-tp-rhel9 -
Red Hat AI Inference Server 3.5 rhaii/vllm-cpu-rhel9 1791473614, rhaii/vllm-cuda-rhel9 1791473631, rhaii/vllm-rocm-rhel9 1791425869, rhaii/vllm-gaudi-rhel9 1791427182, rhaii/vllm-spyre-rhel9 1791818357fixed: vendor fix RHSA-2026:82415
-
Red Hat Enterprise Linux AI 3.5 rhelai3/bootc-cuda-rhel9 1793135861, rhelai3/bootc-rocm-rhel9 1793135863, rhelai3/bootc-aws-cuda-rhel9 1793194817, rhelai3/bootc-gcp-cuda-rhel9 1793194815, rhelai3/disk-image-cuda-rhel9 1793206758, rhelai3/bootc-azure-cuda-rhel9 1793194815, +1 morefixed: vendor fix RHSA-2026:92452
-
Red Hat AI Inference Server rhaii/vllm-tpu-rhel9, rhaiis/vllm-cpu-rhel9, rhaiis/vllm-tpu-rhel9, rhaii/vllm-neuron-rhel9 Red Hat Ansible Automation Platform 2 python-pyjwt, python3x-pyjwt, python3.11-pyjwt, ansible-automation-platform-24/hub-rhel8, ansible-automation-platform-24/controller-rhel8, ansible-automation-platform-24/lightspeed-rhel8, +4 more Red Hat Enterprise Linux 8 python-jwt, python3-jwt, rhel8/support-tools Red Hat Enterprise Linux AI (RHEL AI) 3 rhelai3/bootc-gaudi-rhel9 Red Hat Enterprise Linux command line assistant rhel-cla/rhel-knowledge-bridge-rhel10not affected: vulnerable code not present
-
Red Hat Hardened Images rust 1.98.1-1.hum1, llvm21 21.1.8-10.hum1, jaeger 2.20.0-0.11.hum1, swift-lang 6.4.0-0.5.hum1not affected: component not present
-
Red Hat OpenStack Platform 13 (Queens) python-jwt Red Hat OpenStack Platform 16.2 rhosp-rhel8/openstack-tempest, rhosp-rhel8/openstack-keystone, rhosp-rhel8/openstack-cinder-api, rhosp-rhel8/openstack-mistral-api, rhosp-rhel8/openstack-mistral-base, rhosp-rhel8/openstack-mistral-engine, +2 more Red Hat OpenStack Platform 17.1 python3-jwt, rhosp-rhel9/openstack-keystone, rhosp-rhel9/openstack-cinder-api Red Hat OpenStack Platform 18.0 python-jwt, rhoso/openstack-keystone-rhel9, rhoso/openstack-cinder-api-rhel9 Red Hat Satellite 6 satellite/iop-host-inventory-rhel9 Red Hat Update Infrastructure 4 for Cloud Providers python-pyjwtnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- last mo.
Exploit prediction
0.34% chance of exploitation in the next 30 days, higher than 28% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- github.com https://github.com/jpadilla/pyjwt/security/advisories/GHSA-8wjv-2p76-3863 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| OSV | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | pyjwt | >=2.13.0, <2.14.0 |
2.14.0 |
Affected products
- jpadilla pyjwt
Classification
- Weakness
-
- CWE-674 Uncontrolled Recursion
References
-
github.com
/jpadilla/pyjwt/commit/06573692ebcdec8831c3927513b3e87c31fbbb62
web, patch
-
github.com
/jpadilla/pyjwt/security/advisories/GHSA-8wjv-2p76-3863
exploit, web, mitigation, vendor-advisory
-
github.com
/jpadilla/pyjwt/releases/tag/2.14.0
web, product, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2026-102265
advisory
-
github.com
/jpadilla/pyjwt
package
-
pypi.org
/project/pyjwt
package
-
github.com
/advisories/GHSA-8wjv-2p76-3863
advisory
Sources
- CVE List CVE-2026-102265
- GitHub Advisory GHSA-8wjv-2p76-3863
- NVD CVE-2026-102265
- OSV PYSEC-2026-4142
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.