CVE details
CVE-2026-67216
cJSON through 1.7.19 contains an inefficient algorithmic complexity flaw in cJSON_Compare(). When comparing objects, the function recurses into each shared subtree twice, once in each direction, with no depth guard, making the running time exponential in nesting depth. A small, deeply nested document of a few hundred bytes (depth around 40) compared for equality consumes hours of CPU, and the cost roughly doubles with each additional level of nesting. An application that calls cJSON_Compare() on attacker-influenced JSON that is structurally equal to a reference document is exposed to a denial-of-service condition.
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 contains an inefficient algorithmic complexity
flaw in cJSON_Compare(). When comparing objects, the function recurses
into each shared subtree twice, once in each direction, with no depth
guard, making the running time exponential in nesting depth. A small,
deeply nested document of a few hundred bytes (depth around 40)
compared for equality consumes hours of CPU, and the cost roughly
doubles with each additional level of nesting. An application that
calls cJSON_Compare() on attacker-influenced JSON that is structurally
equal to a reference document is exposed to a denial-of-service
condition.</p>
</body>
</description>
<references>
<cvename>CVE-2026-67216</cvename>
<url>https://nvd.nist.gov/vuln/detail/CVE-2026-67216</url>
</references>
<dates>
<discovery>2026-07-29</discovery>
<entry>2026-10-26</entry>
</dates>
</vuln>