Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit crafted RFC 6902 JSON Patch to endpoint
-
DeliveryApplication calls cJSONUtils_ApplyPatches
-
Exploitadd/copy ops graft duplicated subtrees
-
ExecutionDocument depth exceeds 1000-level nesting limit
-
PersistUnbounded recursion in cJSON_Delete/cJSON_Duplicate
-
ImpactThread stack exhausted, process crashes (DoS)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
|
| Exploitation Conditions | The target application must call cJSONUtils_ApplyPatches() or cJSONUtils_ApplyPatchesCaseSensitive() on an RFC 6902 JSON Patch document that the attacker can supply - this JSON Patch code path is the exact prerequisite, not mere JSON parsing. The malicious patch must contain add and copy operations that graft duplicated subtrees to amplify nesting beyond cJSON's 1000-level parser limit while staying under the 10000 CJSON_CIRCULAR_LIMIT so recursion in cJSON_Delete()/cJSON_Duplicate() overflows the stack. Limiting factors: exploitation is impossible if the application never exposes JSON Patch functionality to untrusted input; success also depends on the default thread stack size (a very large stack, or a hardened depth check on incoming patches, reduces or prevents the crash), and impact is confined to availability (process crash) with no code execution or data disclosure. |
| Impact | The CVSS 4.0 score is 8.7 (High) with vector AV:N/AC:L/AT:N/PR:N/UI:N and impact limited to availability (VA:H; no confidentiality or integrity impact), which correctly frames this as a pure denial-of-service condition rather than code execution. The network vector and lack of required privileges or user interaction make triggering trivial IN PRINCIPLE, but real-world exploitability is gated by a significant precondition not captured in the vector: the target application must actually expose the JSON Patch (cJSONUtils_ApplyPatches) functionality to attacker-controlled input, which is a comparatively uncommon code path versus plain cJSON_Parse. No EPSS score was provided in the input, KEV status is NO (not actively exploited), and no proof-of-concept exploit is flagged - only a detailed technical write-up exists. Net assessment: a genuine, low-complexity crash bug worth patching in any service that applies untrusted JSON Patches, but of limited priority for deployments that do not use the JSON Patch API. Missing signals: EPSS probability and confirmed POC availability are not in the provided data. |
| Exploit ScenarioDerived | A web API accepts RFC 6902 JSON Patch documents to update stored JSON resources and applies them with cJSONUtils_ApplyPatches(). An unauthenticated attacker submits a small patch composed of chained add and copy operations that duplicate subtrees to force document nesting past the 1000-level limit; when the library recurses through cJSON_Delete()/cJSON_Duplicate() the thread stack overflows and the process crashes. A detailed technical write-up exists but no packaged POC exploit is identified in the provided data; given AV:N/AC:L the attack is straightforward wherever the JSON Patch path is reachable. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 29, 2026
Denial of service in cJSON (DaveGamble's C JSON parser) through version 1.7.19 lets a remote attacker crash any application that applies an untrusted RFC 6902 JSON Patch through cJSONUtils_ApplyPatches() or cJSONUtils_ApplyPatchesCaseSensitive(). By combining add and copy operations that graft duplicated subtrees, an attacker inflates document nesting far beyond the parser's 1000-level limit, and the unbounded recursion in cJSON_Delete() (plus a permissive CJSON_CIRCULAR_LIMIT of 10000 in cJSON_Duplicate()) exhausts the thread stack. Reported by VulnCheck with a public technical write-up; there is no public exploit identified at time of analysis and it is not on CISA KEV.
RemediationAI
No vendor-released patch version is identified at time of analysis, so upgrade to the latest cJSON release once a fixed version is published and monitor the upstream repository and the VulnCheck advisory (https://www.vulncheck.com/advisories/cjson-json-patch-copy-add-uncontrolled-recursion-stack-exhaustion) and technical write-up (https://joshua.hu/cjson-json-parser-cve-vulnerabilities) for the fixed tag. As specific compensating controls until a patch is available: avoid exposing cJSONUtils_ApplyPatches()/cJSONUtils_ApplyPatchesCaseSensitive() to untrusted input, or reject/validate incoming JSON Patch documents by capping the number and type of add/copy operations and enforcing a maximum resulting document depth before applying them (trade-off: rejects legitimately deep patches). Where feasible, run patch application on a thread with an enlarged stack or in a sandboxed/isolated worker so a stack overflow crashes only a contained process rather than the whole service (trade-off: added complexity and resource use, does not eliminate the DoS). Do not invent a fix version - cite the exact patched release only once the vendor publishes it.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
cJSON is an ultralightweight JSON parser written in ANSI C and one of the most widely embedded JSON libraries in C/C++ software, firmware, and IoT devices. The flaw is a CWE-674 (Uncontrolled Recursion) issue in the cJSON_Utils JSON Patch subsystem: while the parser caps input nesting at 1000 levels, the tree-manipulation helpers do not enforce that bound after construction. RFC 6902 'add' and 'copy' patch operations can duplicate and re-attach subtrees, so a modestly sized patch amplifies logical document depth. The recursive cJSON_Delete() has no depth guard, and cJSON_Duplicate()'s CJSON_CIRCULAR_LIMIT guard is set to 10000 - ten times the parser limit and high enough that the resulting recursion overflows a default thread stack before the guard trips. Affected CPE: cpe:2.3:a:davegamble:cjson (all versions up to and including 1.7.19), specifically cJSON.c lines 253-261 and cJSON_Utils.c lines 906-940.
Know when Cjson gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Remotely reachable JSON Patch input with no auth or interaction (AV:N/AC:L/PR:N/UI:N); impact is availability-only process crash (A:H), no confidentiality or integrity effect.
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
cJSON through 1.7.19 is vulnerable to uncontrolled recursion leading to stack exhaustion when an untrusted RFC 6902 JSON Patch is applied via cJSONUtils_ApplyPatches() or cJSONUtils_ApplyPatchesCaseSensitive(). A patch containing add and copy operations grafts duplicated subtrees to amplify document depth beyond the parser's nesting limit: cJSON_Delete() recurses with no depth bound, and the cJSON_Duplicate() guard CJSON_CIRCULAR_LIMIT is set to 10000, ten times the parser's 1000-level nesting limit and high enough to overflow a default thread stack. An attacker who can supply the patch document can crash the process, resulting in denial of service.
Executive ViewAI
cJSON versions through 1.7.19 contain a remote denial-of-service vulnerability in RFC 6902 JSON Patch processing. Organizations operating applications that parse untrusted JSON Patches face service availability risk when attackers deliver specially crafted payloads that exhaust application stack resources.
No vendor-released patch identified at time of analysis. Implement RFC 6902 operation validation with enforced nesting-depth limits below 1000 levels; restrict JSON Patch endpoints to authenticated users or trusted networks; add rate limiting on patch submission operations; deploy monitoring for abnormal recursion depth or application crashes; consider temporary disabling of JSON Patch support until patches are released.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
cJSON 1.5.0 through 1.7.18 allows out-of-bounds access via the decode_array_index_from_pointer function in cJSON_Utils.c
cJSON before 1.7.11 allows out-of-bounds access, related to multiline comments. Rated critical severity (CVSS 9.8), this
cJSON before 1.7.11 allows out-of-bounds access, related to \x00 in a string literal. Rated critical severity (CVSS 9.8)
Dave Gamble cJSON version 1.7.3 and earlier contains a CWE-416: Use After Free vulnerability in cJSON library that can r
Dave Gamble cJSON version 1.7.2 and earlier contains a CWE-415: Double Free vulnerability in cJSON library that can resu
cJSON v1.7.17 was discovered to contain a segmentation violation, which can trigger through the second parameter of func
cJSON v1.7.16 was discovered to contain a segmentation violation via the function cJSON_SetValuestring at cJSON.c. Rated
cJSON v1.7.16 was discovered to contain a segmentation violation via the function cJSON_InsertItemInArray at cJSON.c. Ra
DaveGamble/cJSON cJSON 1.7.8 is affected by: Improper Check for Unusual or Exceptional Conditions. Rated high severity (
Heap use-after-free in DaveGamble cJSON's cJSONUtils_MergePatch function (cJSON_Utils.c) affects all versions through 1.
Denial of service in the cJSON C library (versions through 1.7.19) arises from exponential algorithmic complexity in the
Dave Gamble cJSON version 1.7.6 and earlier contains a CWE-772 vulnerability in cJSON library that can result in Denial
Same weakness CWE-674 – Uncontrolled Recursion
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP7 | Affected |
| openSUSE Leap 16.0 | Affected |
EUVD-2026-50327
GHSA-5q3m-r3x7-8phg
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB