cbor2 has a Denial of Service via Uncontrolled Recursion in cbor2.loads
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 2 fixed, 4 without a fix
Attack profile from CVSS 3.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-674.
Summary
cbor2 provides encoding and decoding for the Concise Binary Object Representation (CBOR) serialization format. Versions prior to 5.9.0 are vulnerable to a Denial of Service (DoS) attack caused by uncontrolled recursion when decoding deeply nested CBOR structures. This vulnerability affects both the pure Python implementation and the C extension `_cbor2`. The C extension relies on Python's internal recursion limits `Py_EnterRecursiveCall` rather than a data-driven depth limit, meaning it still raises `RecursionError` and crashes the worker process when the limit is hit. While the library handles moderate nesting levels, it lacks a hard depth limit. An attacker can supply a crafted CBOR payload containing approximately 100,000 nested arrays `0x81`. When `cbor2.loads()` attempts to parse this, it hits the Python interpreter's maximum recursion depth or exhausts the stack, causing the process to crash with a `RecursionError`. Because the library does not enforce its own limits, it allows an external attacker to exhaust the host application's stack resource. In many web application servers (e.g., Gunicorn, Uvicorn) or task queues (Celery), an unhandled `RecursionError` terminates the worker process immediately. By sending a stream of these small (<100KB) malicious packets, an attacker can repeatedly crash worker processes, resulting in a complete Denial of Service for the application. Version 5.9.0 patches the issue.
Why it matters now
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| agronholm | cbor2 | before 5.9.0 | 5.9.0 | Patch available | CNA |
| — | cbor2 (PyPI) | before 5.9.0 | 5.9.0 | Patch available | GHSA-3c37-wwvx-h642 |
- cbor2 Vendoragronholm Affected before 5.9.0 Fixed in 5.9.0 Patch available CNA
- cbor2 (PyPI) Vendor— Affected before 5.9.0 Fixed in 5.9.0 Patch available GHSA-3c37-wwvx-h642
Remediation
- Fix · CNA cbor2 (agronholm) Fixed in 5.9.0
- Fix · GHSA-3c37-wwvx-h642 cbor2 (PyPI) Fixed in 5.9.0 Advisory →
Red Hat 5 advisories
- RHSA-2026:19725 Released 2026-05-20 · Red Hat rating ImportantRed Hat AI Inference Server 3.2.2 (ROCm)
- Red Hat AI Inference Server 3.2 registry.redhat.io/rhaiis/vllm-rocm-rhel9
- RHSA-2026:19724 Released 2026-05-20 · Red Hat rating ImportantRed Hat AI Inference Server 3.2.2 (CUDA)
- Red Hat AI Inference Server 3.2 registry.redhat.io/rhaiis/vllm-cuda-rhel9
- RHSA-2026:16174 Released 2026-05-12 · Red Hat rating ImportantRed Hat AI Inference Server 3.3.3 (Spyre)
- Red Hat AI Inference Server 3.3 registry.redhat.io/rhaiis/vllm-spyre-rhel9
Show 2 more Red Hat advisories
- RHSA-2026:16030 Released 2026-05-11 · Red Hat rating ImportantRed Hat AI Inference Server 3.3.3 (CUDA)
- Red Hat AI Inference Server 3.3 registry.redhat.io/rhaiis/vllm-cuda-rhel9
- RHSA-2026:16009 Released 2026-05-11 · Red Hat rating ImportantRed Hat AI Inference Server 3.3.3 (ROCm)
- Red Hat AI Inference Server 3.3 registry.redhat.io/rhaiis/vllm-rocm-rhel9
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat AI Inference Server | Affected | No fix yet: Fix deferred |
| Red Hat Ansible Automation Platform 2 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet: Fix deferred |
| Red Hat AI Inference Server 3.2 | Fixed | RHSA-2026:19724, RHSA-2026:19725 |
| Red Hat AI Inference Server 3.3 | Fixed | RHSA-2026:16009, RHSA-2026:16030, RHSA-2026:16174 |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-26209
- 2026-10-03 Alias added: GHSA-3c37-wwvx-h642
- 2026-10-16 EPSS moved to the 50th–90th percentile
- 2026-10-25 EPSS moved to the below the 50th percentile
References
Patch 2
More agronholm Cbor2 vulnerabilities
- TI-2024-17225 CBOR2 decoder has potential buffer overflow CVSS 3.1HIGH 7.5
- TI-2025-39535 Multiple vulnerabilities exist in cbor2 through version 5.7.0 in the… CVSS 3.1HIGH 7.5
- TI-2025-41712 CBORDecoder reuse can leak shareable values across decode calls CVSS 4.0MEDIUM 5.5
Sources
- CVE-2026-26209 · CVE Program
- CVE-2026-26209 · NVD
- FIRST EPSS
- GHSA-3c37-wwvx-h642 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-26209 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences