Skip to main content
VulnerabilityPublished Updated

CVE-2026-39979: jqlang jq · Out-of-bounds Read

Affects jqlang jqSource CVE Database V5

0
Compare

Not known to be exploited · CVSS 6.9 Medium.

Data as of 29 Oct 2026, 19:04 UTC

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

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 13 Apr 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  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), the Metasploit, Exploit-DB and nuclei-templates index as of 29 Oct 2026.

What to do

Affected software

ProductAffectedFixed in
jqlangjqAffected
  • =< 2f09060afab23fe9390cce7cb860b10416e1bf5f
Fixed in–

AI-suggested

A patch fixing this vulnerability is available in commit 2f09060afab23fe9390cce7cb860b10416e1bf5f. Users and vendors consuming libjq should update to versions including this commit. Red Hat advisories reference fixes in their packages; users of affected Red Hat products should apply the relevant security updates as provided in the Red Hat errata. Patch status is confirmed by vendor advisories. No additional mitigations are specified beyond applying the official fix.

Description

jq is a command-line JSON processor. In commits before 2f09060afab23fe9390cce7cb860b10416e1bf5f, the jv_parse_sized() API in libjq accepts a counted buffer with an explicit length parameter, but its error-handling path formats the input buffer using %s in jv_string_fmt(), which reads until a NUL terminator is found rather than respecting the caller-supplied length. This means that when malformed JSON is passed in a non-NUL-terminated buffer, the error construction logic performs an out-of-bounds read past the end of the buffer. The vulnerability is reachable by any libjq consumer calling jv_parse_sized() with untrusted input, and depending on memory layout, can result in memory disclosure or process termination. The issue has been patched in commit 2f09060afab23fe9390cce7cb860b10416e1bf5f.

References

Community reviews

Loading reviews…