Skip to main content
VulnerabilityPublished

CVE-2026-40612: jqlang jq · Uncontrolled Recursion

Affects jqlang jqSource CVE Database V5

0
Compare

Public exploit available · CVSS 5.4 Medium.

Data as of 30 Oct 2026, 11:52 UTC

CVSS 4.0 base score
5.4Medium
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.1% chance of exploitation in 30 days – higher than 5% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:P

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 11 May 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: evidence found.

    CVSS exploit maturity: proof of concept public

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), CVSS vector, the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.

What to do

Affected software

ProductAffectedFixed in
jqlangjqAffected
  • <=1.8.1
Fixed in–
GitHubjqlang/jqpkg:github/jqlang/jqOther threatsAffected
  • <=1.8.1
Fixed in–

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

Users should monitor the vendor's announcements for updates. Until a fix is released, avoid processing untrusted or programmatically deeply nested JSON inputs with jq versions 1.8.1 or earlier to mitigate risk.

Description

CVE-2026-40612 is a medium severity vulnerability in jq (version 1.8.1 and earlier) where the function jv_contains performs uncontrolled recursion into nested JSON arrays or objects without a depth limit. This can lead to exhaustion of the C stack when processing sufficiently deeply nested input structures, causing a denial of service. The vulnerability arises because jq's JSON parser limits nesting depth to 10,000, but programmatically constructed inputs using reduce can exceed this, triggering the recursion issue.

References

Community reviews

Loading reviews…