CVE-2026-29036: cJSON 1.7.19 Wrong-Key Modification via JSON Pointer Escape Decoding
cJSON versions 1.5.0 through 1.7.19 contain an incorrectly-resolved name or reference vulnerability in the decodepointerinplace() function within cJSONUtils.c that allows unauthenticated attackers to cause JSON Patch operations to target wrong object keys by supplying crafted JSON Pointer escape sequences (~0 or ~1) in patch paths. Attackers can submit malicious RFC 6902 JSON Patch input to applications using cJSONUtilsApplyPatches() or cJSONUtilsApplyPatchesCaseSensitive() to silently corrupt data or delete unintended keys, potentially bypassing authorization controls in applications that rely on JSON Patch for access-controlled data modification.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
cJSONto a version that resolves this vulnerability.Fixed in 1.7.19 - Configuration
Modify or configure the JSON Patch handling to prevent ~0/~1 JSON Pointer escape sequences from being incorrectly resolved by decode_pointer_inplace(), so patch operations cannot target wrong object keys.
cJSON (cJSON_Utils.c: decode_pointer_inplace) JSON Pointer escape sequence handling = Reject/disable crafted escape sequences (~0 or ~1) in patch paths - Compensating control
Ensure applications that accept JSON Patch inputs do not allow unauthenticated users to submit/execute RFC 6902 JSON Patch operations via cJSONUtils_ApplyPatches() or cJSONUtils_ApplyPatchesCaseSensitive().
Event History
Frequently Asked Questions
What is the severity of CVE-2026-29036?
CVE-2026-29036 has a high severity score of 7.5.
How do I fix CVE-2026-29036?
To fix CVE-2026-29036, update cJSON to version 1.7.20 or later.
What impact does CVE-2026-29036 have on data integrity?
CVE-2026-29036 allows attackers to modify JSON Patch operations, potentially altering the intended object keys.
Can CVE-2026-29036 be exploited remotely?
Yes, CVE-2026-29036 can be exploited remotely by unauthenticated attackers.
Which versions of cJSON are affected by CVE-2026-29036?
CVE-2026-29036 affects cJSON versions 1.5.0 through 1.7.19.