# CVE-2026-47770: jqlang jq Denial of Service via Stack Exhaustion in Structural Comparison

Source: https://junglewise.ai/threats/cve-2026-47770-jqlang-jq-denial-of-service-via-stack-exhaustion-in-structural  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-06-25. Updated: 2026-06-25  
License: CC BY 4.0 with a link back

CVE-2026-47770 · Severity: info · CVSS 6.8 · Published 2026-06-25

jq is a widely used command-line tool for processing and transforming JSON data. A vulnerability in how it compares data structures allows an attacker to crash the program by providing specially crafted, deeply nested JSON files. This results in a denial-of-service, potentially disrupting automated workflows or services that rely on jq to process external data.

Technologies: [Jqlang Jq](https://junglewise.ai/threats/technologies/jq). Vendors: [Jqlang](https://junglewise.ai/threats/vendors/jqlang).

## Quick answers

**Is CVE-2026-47770 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-47770 being exploited in the wild.

**How severe is CVE-2026-47770?** Informational severity, with a CVSS score of 6.8, published 25 June 2026.

**Which products and versions are affected?** Jqlang Jq < 1.8.2.

**Is there a fix for CVE-2026-47770?** A patch was published on 2026-06-25: Fixed in version 1.8.2 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-47770 attacked?** It is attacked with local access, in a software library.

**Am I affected by CVE-2026-47770?** Check whether you run Jqlang Jq at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

A stack exhaustion vulnerability exists in jq's structural comparison logic due to uncontrolled recursion. When comparing deeply nested JSON arrays using the '==' operator, the functions jvp_array_equal() and jv_equal() in src/jv.c recurse without sufficient depth guards. A similar issue exists in the sort comparator path through jv_cmp() in src/jv_aux.c. An attacker can trigger a crash (Denial of Service) by providing maliciously nested JSON data to jq. The vulnerability is local in nature but can be triggered remotely if jq is used to process untrusted input in a pipeline or service. The issue is fixed in version 1.8.2 by implementing recursion limits.

## Affected products

- jqlang jq < 1.8.2

## Timeline

- 2026-05-22: advisory: GitHub Security Advisory published
- 2026-06-25: disclosed: CVE published to NVD
- 2026-06-25: patched: Fixed in version 1.8.2

## References

- [https://github.com/jqlang/jq/security/advisories/GHSA-3pgx-frr7-3jxp](https://github.com/jqlang/jq/security/advisories/GHSA-3pgx-frr7-3jxp)

## Related threats

- [jqlang jq integer overflow in jvp_string_append on 32-bit systems](https://junglewise.ai/threats/cve-2026-54679-jqlang-jq-integer-overflow-in-jvp-string-append-on-32-bit-systems)
- [jqlang jq heap out-of-bounds write in --rawfile processing](https://junglewise.ai/threats/cve-2026-49839-jqlang-jq-heap-out-of-bounds-write-in-rawfile-processing)
- [jqlang jq uncontrolled recursion in module loader](https://junglewise.ai/threats/cve-2026-44777-jqlang-jq-uncontrolled-recursion-in-module-loader)
- [jqlang jq stack overflow in jv_object_merge_recursive](https://junglewise.ai/threats/cve-2026-43896-jqlang-jq-stack-overflow-in-jv-object-merge-recursive)
- [jqlang jq path resolution mismatch via embedded NUL bytes in linker](https://junglewise.ai/threats/cve-2026-43895-jqlang-jq-path-resolution-mismatch-via-embedded-nul-bytes-in)
