CVE-2026-67217

Name
CVE-2026-67217
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.
NVD Severity
unknown
Other trackers
Mailing lists
Exploits
Forges
GitHub (code, issues), Aports (code, issues)

References

Type URI
disclosure@vulncheck.com https://github.com/DaveGamble/cJSON/blob/v1.7.19/cJSON_Utils.c#L887-L948
disclosure@vulncheck.com https://joshua.hu/cjson-json-parser-cve-vulnerabilities
disclosure@vulncheck.com https://www.vulncheck.com/advisories/cjson-json-patch-non-atomic-application-destroys-data-before-validation

Match rules

CPE URI Source package Min version Max version
cpe:2.3:a:davegamble:cjson:*:*:*:*:*:*:*:* cjson >= None <= 1.7.19

Vulnerable and fixed packages

Source package Branch Version Maintainer Status
cjson edge-main 1.7.19-r1 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
cjson edge-main 1.7.19-r0 None possibly vulnerable
cjson edge-main 1.7.18-r1 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
cjson edge-main 1.7.18-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
cjson edge-main 1.7.17-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
cjson 3.24-main 1.7.19-r1 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
cjson 3.23-main 1.7.19-r1 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
cjson 3.22-main 1.7.19-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
cjson 3.22-main 1.7.18-r1 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
cjson 3.22-main 1.7.17-r0 None possibly vulnerable
cjson 3.21-main 1.7.19-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
cjson 3.21-main 1.7.18-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
cjson 3.21-main 1.7.17-r0 None possibly vulnerable
cjson 3.20-main 1.7.19-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
cjson 3.20-main 1.7.18-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
cjson 3.20-main 1.7.17-r0 None possibly vulnerable
cjson 3.19-main 1.7.19-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
cjson 3.19-main 1.7.17-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable