CVE-2026-67217
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.
Matched ports (1)
| Port | Package | Version | Status | Maintainer |
|---|---|---|---|---|
| devel/libcjson | libcjson | 1.7.19_1 | unaddressed | sunpoet@FreeBSD.org |
Template for a VuXML entry
Range taken from the CVE record, check it before committing. make newentry in security/vuxml creates the vid.
<vuln vid="FIXME (make newentry)">
<topic>FIXME -- FIXME</topic>
<affects>
<package>
<name>libcjson</name>
<range><lt>FIXME</lt></range>
</package>
</affects>
<description>
<body xmlns="http://www.w3.org/1999/xhtml">
<p>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.</p>
</body>
</description>
<references>
<cvename>CVE-2026-67217</cvename>
<url>https://nvd.nist.gov/vuln/detail/CVE-2026-67217</url>
</references>
<dates>
<discovery>2026-07-29</discovery>
<entry>2026-10-26</entry>
</dates>
</vuln>