Crow: Denial of service via deeply nested JSON in crow::json::load()
Summary
Crow, a C++ framework for HTTP and WebSocket services, contains an uncontrolled recursion flaw (CWE-674) in crow::json::load(). A remote, unauthenticated attacker can send a request body with thousands of nested JSON objects, exhausting the worker thread stack. The server process then terminates and all open connections are dropped. Only availability is affected, and exposure depends on whether an application built with Crow parses untrusted JSON.
Affected
- Crow versions before 1.3.4 (CVE record: affected 0 to < 1.3.4)
- CVSS 4.0 base score 8.7 (HIGH) as provided; NVD analysis pending at time of writing
Fixed in
- Upgrade to Crow 1.3.4 or later (fix commit 6956b7c, limits JSON parser depth to 1024)
- Check the Crow releases page for the latest stable version before choosing a target
Workaround
- No vendor workaround known; the fix is an upgrade
- Until upgraded: limit request body size and JSON nesting at a reverse proxy or WAF, restrict JSON endpoints, and configure automatic restart of the service
Exploitation
- No confirmed in-the-wild exploitation; not listed as known exploited
- CISA SSVC: exploitation none, automatable yes, technical impact partial
- Public proof-of-concept status is unverified; treat exploitation as possible
Our recommendation
- Inventory all Crow usage (source code, Conan, vcpkg, binaries) and identify internet-facing instances
- Upgrade to version 1.3.4 or later and verify the deployed version
- Restrict exposure of JSON endpoints and monitor for service crashes and restarts until patched
Public exploits
Links to third-party sites, not checked by us – exploit code can contain malware. Only use it in isolated test environments.
- Proof of concept on GitHub (1 repositories)
D7EAD/CVE-2026-116011
Research sources
- GitHub Security Advisory GHSA-7x84-xhp8-6cqj github.com
- VulnCheck advisory: Crow before 1.3.4 DoS via deeply nested JSON www.vulncheck.com
- Crow release v1.3.4 github.com
- Fix commit 6956b7c: JSON parser depth limit github.com
- Crow json.h at v1.3.3 github.com
- VulDB entry 426108 vuldb.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 00:21.
Original description (NVD)
Crow before 1.3.4 contains an uncontrolled recursion vulnerability in crow::json::load() that allows remote unauthenticated attackers to crash the server by sending deeply nested JSON. Attackers can send a request body with thousands of nested objects to exhaust the worker thread stack, terminating the process and dropping all connections.
NVD references (5)
- https://github.com/CrowCpp/Crow/blob/v1.3.3/include/crow/json.h#L878
- https://github.com/CrowCpp/Crow/commit/6956b7ca93c5df22f5aaccd670e5aa000c0d882b
- https://github.com/CrowCpp/Crow/releases/tag/v1.3.4
- https://github.com/CrowCpp/Crow/security/advisories/GHSA-7x84-xhp8-6cqj
- https://www.vulncheck.com/advisories/crow-before-1.3.4-denial-of-service-via-deeply-nested-json-in-crow-json-…
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
