CVE-2026-47770 jq: stack overflow in deep structural equality
Attackers can cause denial of service in jq by providing deeply nested JSON arrays that trigger stack exhaustion during equality comparisons.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-47770?
CVE-2026-47770 is a medium-severity denial of service vulnerability in jqlang jq, published on 25 Jun 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
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.
Weakness: CWE-674
Which versions are affected by CVE-2026-47770?
It affects 1 product.
Products include Jqlang Jq.
How do I fix CVE-2026-47770?
Upgrade to a fixed version.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-47770 being exploited?
There is no known exploitation of CVE-2026-47770 in the wild and no public exploit code.
Other vulnerabilities in jqlang jq
- CVE-2026-32316 jq: Integer overflow in jvp_string_append() allows Heap-based Buffer Overflow
- CVE-2024-53427 Memory corruption in jq
- CVE-2025-48060 AddressSanitizer: stack-buffer-overflow in jq_fuzz_execute (jv_string_vfmt)
- CVE-2023-49355 Memory corruption in n/a
- CVE-2026-49839 jq --rawfile invalid-state reuse after String too long causes heap-buffer-overflow
Sources
Also known as ALPINE-CVE-2026-47770, AZL-90273, BELL-CVE-2026-47770, CLSA-2026-1782901522, DEBIAN-CVE-2026-47770, ECHO-b834-a843-3668 and 2 more.