CVE-2026-39956

jq: Missing runtime type checks for _strindices lead to crash and limited memory disclosure

MEDIUM
6.1
CVSS Score
Published: April 13, 2026 at 10:10 PM UTC
Updated: October 26, 2026 at 09:10 PM UTC
1 product affected across 1 vendorJq

Using jq by jqlang?

Get instant alerts when new vulnerabilities affect jq - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM6.1
Exploit prediction
EPSS 0.2%
SSVC
PoC

Description

jq is a command-line JSON processor. In commits after 69785bf77f86e2ea1b4a20ca86775916889e91c9, the _strindices builtin in jq's src/builtin.c passes its arguments directly to jv_string_indexes() without verifying they are strings, and jv_string_indexes() in src/jv.c relies solely on assert() checks that are stripped in release builds compiled with -DNDEBUG. This allows an attacker to crash jq trivially with input like _strindices(0), and by crafting a numeric value whose IEEE-754 bit pattern maps to a chosen pointer, achieve a controlled pointer dereference and limited memory read/probe primitive. Any deployment that evaluates untrusted jq filters against a release build is vulnerable. This issue has been patched in commit fdf8ef0f0810e3d365cdd5160de43db46f57ed03.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

2026-04-02 ≤ v < 2026-04-08
Affected range stops below 1.8.2, so it looks safe — our inference, not a vendor statement
Affected range stops below 2026-04-08, so it looks safe — our inference, not a vendor statement

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

References (2)

x_refsource_CONFIRMExploitVendor Advisory
Source: cverecord
https://github.com/jqlang/jq/security/advisories/GHSA-6gc3-3g9p-xx28

SSVC — Action Prioritization

SSVCPoCNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

6.1MEDIUMGitHub_M
Attack Vector
LOCAL
Complexity
LOW
Privileges
NONE
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality
LOW
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-125CWE-476CWE-843

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card