jq <1.8.2 stack exhaustion via recursive array == comparison
CVE-2026-47770 Published on June 25, 2026

jq: stack overflow in deep structural equality
jq is a command-line JSON processor. Prior to 1.8.2, comparing two sufficiently deeply nested arrays with the == operator exhausts the C stack on jq's ordinary command-line surface, resulting in denial of service via stack exhaustion (uncontrolled recursion). The crash occurs in jq's recursive structural comparison code, with the recursion repeating through jvp_array_equal() and jv_equal() in src/jv.c when comparing deeply nested arrays; a nearby sort comparator path through jv_cmp() in src/jv_aux.c overflows the stack at a larger nesting depth from the same missing recursion guard. Anyone running jq comparisons on attacker-controlled deeply nested JSON values, or embedding jq in a context where untrusted data can reach the == comparison path, is affected. This vulnerability is fixed in 1.8.2.

NVD

Weakness Type

What is a Stack Exhaustion Vulnerability?

The product does not properly control the amount of recursion which takes place, consuming excessive resources, such as allocated memory or the program stack.

CVE-2026-47770 has been classified to as a Stack Exhaustion vulnerability or weakness.


Products Associated with CVE-2026-47770

Want to know whenever a new CVE is published for Jqlang Jq? stack.watch will email you.

 

Affected Versions

jqlang jq Version < 1.8.2 is affected by CVE-2026-47770