CVE-2026-33947 json
jq: Unbounded Recursion in jv_setpath(), jv_getpath() and delpaths_sorted()
published 2026-04-13 6 mo ago modified 2026-10-26 13 d ago also EUVD-2026-22124
- cvss
- 6.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 14%
- public exploits
- 0
- none known
Summary
jq is a command-line JSON processor. In versions 1.8.1 and below, functions jv_setpath(), jv_getpath(), and delpaths_sorted() in jq's src/jv_aux.c use unbounded recursion whose depth is controlled by the length of a caller-supplied path array, with no depth limit enforced. An attacker can supply a JSON document containing a flat array of ~65,000 integers (~200 KB) that, when used as a path argument by a trusted jq filter, exhausts the C call stack and crashes the process with a segmentation fault (SIGSEGV). This bypass works because the existing MAX_PARSING_DEPTH (10,000) limit only protects the JSON parser, not runtime path operations where arrays can be programmatically constructed to arbitrary lengths. The impact is denial of service (unrecoverable crash) affecting any application or service that processes untrusted JSON input through jq's setpath, getpath, or delpaths builtins. This issue has been addressed in commit fb59f1491058d58bdc3e8dd28f1773d1ac690a1f.
Patch / fix
- jq Debian 12 1.6-2.1+deb12u2
- jq Debian 13 1.7.1-6+deb13u2
- jq Debian 14 1.8.1-5
debian advisories DEBIAN-CVE-2026-33947
- jq Ubuntu 22.04 LTS 1.6-2.1ubuntu3.2
- jq Ubuntu 24.04 LTS 1.7.1-3ubuntu0.24.04.2
- jq Ubuntu 25.10 1.8.1-3ubuntu1.1
- jq Ubuntu 26.04 LTS 1.8.1-4ubuntu2
- jq Ubuntu Pro 14.04 LTS 1.3-1.1ubuntu1.1+esm4
- jq Ubuntu Pro 16.04 LTS 1.5+dfsg-1ubuntu0.1+esm4
- jq Ubuntu Pro 18.04 LTS 1.5+dfsg-2ubuntu0.1~esm2
- jq Ubuntu Pro 20.04 LTS 1.6-1ubuntu0.20.04.1+esm2
ubuntu advisories UBUNTU-CVE-2026-33947
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- jq hummingbird 1 1.8.1-3.hum1
red hat advisories RHSA-2026:8579
- jq SLE Module for Basesystem 15 SP7, SLE Micro 5.5, SLE Micro 5.4 +1 more 1.6-150000.3.20.1
- jq Linux Micro 6.0 1.6-6.1
- jq SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 1.7.1-160000.3.1
- jq Linux Micro 6.1 1.7.1-slfo.1.1_3.1
suse advisories SUSE-SU-2026:2983-1SUSE-SU-2026:22705-1SUSE-SU-2026:22545-1SUSE-SU-2026:22566-1SUSE-SU-2026:22664-1
- jq openSUSE Leap 16.0 1.7.1-160000.3.1
- jq openSUSE Tumbleweed 1.8.1-3.1
opensuse advisories openSUSE-SU-2026:21248-1openSUSE-SU-2026:10850-1
- jq Alpine 3.24, Alpine 3.23, Alpine 3.22 1.8.2-r0
alpine advisories ALPINE-CVE-2026-33947
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- github.com/jqlang/jq@fb59f14 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-33947 updated cvss 6.2
jq: unbounded Recursion in jv_setpath() / jv_getpath() / delpaths_sorted()
-
Red Hat Ansible Automation Platform 2 automation-controller, ansible-automation-platform-26/hub-rhel9, ansible-automation-platform-26/controller-rhel9 Red Hat Ceph Storage 4 jq Red Hat Enterprise Linux 8 jq Red Hat Enterprise Linux 9 jq Red Hat Enterprise Linux 10 jq Red Hat OpenShift Container Platform 4 rhcosaffected: workaround, no fix available “Do not process untrusted input with the jq command line JSON processor.”
-
Red Hat Hardened Images jq 1.8.1-3.hum1fixed: vendor fix “Do not process untrusted input with the jq command line JSON processor.” RHSA-2026:8579
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 6 mo ago
Exploit prediction
0.23% chance of exploitation in the next 30 days, higher than 14% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/jqlang/jq/security/advisories/GHSA-xwrw-4f8h-rjvg referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.2 | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected products
- jqlang jq
Classification
- Weakness
-
- CWE-674 Uncontrolled Recursion
References
-
github.com
/jqlang/jq/commit/fb59f1491058d58bdc3e8dd28f1773d1ac690a1f
patch
-
github.com
/jqlang/jq/security/advisories/GHSA-xwrw-4f8h-rjvg
exploit, vendor-advisory
-
openwall.com
/lists/oss-security/2026/04/16/1
mailing-list
Sources
- CVE List CVE-2026-33947
- NVD CVE-2026-33947
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.