Medium severity · published Jul 29, 2026
CVE-2026-67217
cJSON JSON Patch Non-Atomic Application Destroys Data Before Validation
5.3
CVSS
0.4%
EPSS
No
On KEV
Description
cJSON through 1.7.19 applies RFC 6902 JSON Patch operations non-atomically in apply_patch() in cJSON_Utils.c. For a replace operation that is missing its value member, or a move operation whose destination path cannot be resolved, the existing target member is detached and deleted before the operation is fully validated, so the target document is mutated while cJSONUtils_ApplyPatches() or cJSONUtils_ApplyPatchesCaseSensitive() returns a failure status. An attacker who can supply the patch document can destroy addressable members of the target document even though the API reports that the patch failed, defeating the all-or-nothing behavior callers rely on to reject bad patches.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
Low
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 37% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
CJ
cJSON · DaveGamble
through 1.7.19 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-67217
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-67217
Patch
https://github.com/DaveGamble/cJSON/blob/v1.7.19/cJSON_Utils.c#L887-L948
Exploit
https://joshua.hu/cjson-json-parser-cve-vulnerabilities
Third Party Advisory
https://www.vulncheck.com/advisories/cjson-json-patch-non-atomic-application-destroys-data-before-validation
More from cJSON
9.8
CVE-2025-57052
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, allowing remote attackers to bypass array bounds checking…
9.8
CVE-2019-11835
cJSON before 1.7.11 allows out-of-bounds access, related to multiline comments
9.8
CVE-2019-11834
cJSON before 1.7.11 allows out-of-bounds access, related to \x00 in a string literal
9.8
CVE-2016-10749
parse_string in cJSON.c in cJSON before 2016-10-02 has a buffer over-read, as demonstrated by a string that begins with a " character and ends with a \ character
9.8
CVE-2018-1000217
Dave Gamble cJSON version 1.7.3 and earlier contains a CWE-416: Use After Free vulnerability in cJSON library that can result in Possible crash, corruption of data or even RCE
