# CVE-2026-43896: jqlang jq stack overflow in jv_object_merge_recursive

Source: https://junglewise.ai/threats/cve-2026-43896-jqlang-jq-stack-overflow-in-jv-object-merge-recursive  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-05-11. Updated: 2026-05-11  
License: CC BY 4.0 with a link back

CVE-2026-43896 · Severity: medium · CVSS 6.2 · Published 2026-05-11

jq is a widely used command-line tool for processing and transforming JSON data. A vulnerability in how it handles nested data structures allows a specially crafted input to crash the application. This can lead to a denial-of-service, potentially disrupting automated workflows or data processing pipelines that rely on jq to handle external data.

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

## Quick answers

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

**How severe is CVE-2026-43896?** Medium severity, with a CVSS score of 6.2, published 11 May 2026.

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

**Is there a fix for CVE-2026-43896?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

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

**Am I affected by CVE-2026-43896?** 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 versions 1.8.1 and earlier due to uncontrolled recursion in the 'jv_object_merge_recursive' function within 'src/jv.c'. The issue is triggered when the '*' operator is used to merge two objects that contain deeply nested structures. Because the function lacks a recursion depth limit, processing highly nested objects (e.g., 75,000 levels deep) exhausts the C call stack, resulting in a segmentation fault. An attacker who can provide a malicious jq script or influence the objects being merged can cause a denial-of-service. As of the advisory date, no patched version has been released.

## Affected products

- jqlang jq <= 1.8.1

## Timeline

- 2026-05-05: advisory: GitHub Security Advisory published by maintainers
- 2026-05-11: disclosed: NVD publication date

## References

- [https://github.com/jqlang/jq/security/advisories/GHSA-mg96-6h3q-g846](https://github.com/jqlang/jq/security/advisories/GHSA-mg96-6h3q-g846)

## 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 Denial of Service via Stack Exhaustion in Structural Comparison](https://junglewise.ai/threats/cve-2026-47770-jqlang-jq-denial-of-service-via-stack-exhaustion-in-structural)
- [jqlang jq uncontrolled recursion in module loader](https://junglewise.ai/threats/cve-2026-44777-jqlang-jq-uncontrolled-recursion-in-module-loader)
- [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)
