GHSA-pr46-97qf-f32cMediumCVSS 5.3
cJSON through 1.7.19 applies RFC 6902 JSON Patch operations non-atomically in apply_patch() in...
🔗 CVE IDs covered (1)
📋 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.
🔗 References (5)
- https://nvd.nist.gov/vuln/detail/CVE-2026-67217
- https://github.com/DaveGamble/cJSON/blob/v1.7.19/cJSON_Utils.c#L887-L948
- https://joshua.hu/cjson-json-parser-cve-vulnerabilities
- https://www.vulncheck.com/advisories/cjson-json-patch-non-atomic-application-destroys-data-before-validation
- https://github.com/advisories/GHSA-pr46-97qf-f32c