Skip to main content

cJSON CVE-2026-67215

| EUVDEUVD-2026-50327 HIGH
Uncontrolled Recursion (CWE-674)
2026-07-29 VulnCheck GHSA-5q3m-r3x7-8phg
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit crafted RFC 6902 JSON Patch to endpoint
  2. Delivery
    Application calls cJSONUtils_ApplyPatches
  3. Exploit
    add/copy ops graft duplicated subtrees
  4. Execution
    Document depth exceeds 1000-level nesting limit
  5. Persist
    Unbounded recursion in cJSON_Delete/cJSON_Duplicate
  6. Impact
    Thread 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

cJSON 0 ≤1.7.19

Affected Packages

euvd cjson no fix

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

Vendor (VulnCheck) PRIMARY 8.7 HIGH
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
vuln.today AI 7.5 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Red Hat 7.5 HIGH

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.3%
Top 73% exploitable
Prevalence
High
cJSON is a very widely embedded C JSON library in software and firmware
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor GitHub

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Cjson

View all
CVE-2025-57052 CRITICAL POC
9.8 Sep 03

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

CVE-2019-11835 CRITICAL POC
9.8 May 09

cJSON before 1.7.11 allows out-of-bounds access, related to multiline comments. Rated critical severity (CVSS 9.8), this

CVE-2019-11834 CRITICAL POC
9.8 May 09

cJSON before 1.7.11 allows out-of-bounds access, related to \x00 in a string literal. Rated critical severity (CVSS 9.8)

CVE-2018-1000217 CRITICAL POC
9.8 Aug 20

Dave Gamble cJSON version 1.7.3 and earlier contains a CWE-416: Use After Free vulnerability in cJSON library that can r

CVE-2018-1000216 HIGH POC
8.8 Aug 20

Dave Gamble cJSON version 1.7.2 and earlier contains a CWE-415: Double Free vulnerability in cJSON library that can resu

CVE-2024-31755 HIGH POC
7.6 Apr 26

cJSON v1.7.17 was discovered to contain a segmentation violation, which can trigger through the second parameter of func

CVE-2023-50472 HIGH POC
7.5 Dec 14

cJSON v1.7.16 was discovered to contain a segmentation violation via the function cJSON_SetValuestring at cJSON.c. Rated

CVE-2023-50471 HIGH POC
7.5 Dec 14

cJSON v1.7.16 was discovered to contain a segmentation violation via the function cJSON_InsertItemInArray at cJSON.c. Ra

CVE-2019-1010239 HIGH POC
7.5 Jul 19

DaveGamble/cJSON cJSON 1.7.8 is affected by: Improper Check for Unusual or Exceptional Conditions. Rated high severity (

CVE-2026-87933 MEDIUM POC
5.5 Sep 10

Heap use-after-free in DaveGamble cJSON's cJSONUtils_MergePatch function (cJSON_Utils.c) affects all versions through 1.

CVE-2026-67216 HIGH
8.2 Jul 29

Denial of service in the cJSON C library (versions through 1.7.19) arises from exponential algorithmic complexity in the

CVE-2018-1000215 HIGH
7.5 Aug 20

Dave Gamble cJSON version 1.7.6 and earlier contains a CWE-772 vulnerability in cJSON library that can result in Denial

Vendor 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

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy