Skip to content
Fencer Intel
medium 6.2

CVE-2026-33947 json

jq: Unbounded Recursion in jv_setpath(), jv_getpath() and delpaths_sorted()

published 6mo ago modified 14d 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

  • jq Azure Linux 3.0 1.7.1-5

azure linux advisories AZL-82925

Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT

Is CVE-2026-33947 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

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 rhcos
    affected: 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.hum1
    fixed: 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
6mo ago

Exploit prediction

0.23% chance of exploitation in the next 30 days, higher than 14% of all scored CVEs (FIRST EPSS, 2026-11-09).

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

References

Sources

Fencer Intel 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.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.