Skip to content
Fencer Vulns
high 8.2

CVE-2026-39979 json

jq: Out-of-Bounds Read in jv_parse_sized() Error Formatting for Non-NUL-Terminated Counted Buffers

published 2026-04-13 6 mo ago modified 2026-10-26 13 d ago also EUVD-2026-22128

cvss
8.2
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.6%
EPSS 0.6% chance of exploitation in 30 days, percentile 46%
public exploits
0
none known

Summary

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.

Patch / fix

  • Red Hat Red Hat Enterprise Linux 10 0:1.7.1-11.el10_1.0.2, 0:1.7.1-11.el10_2.2
  • Red Hat Red Hat Enterprise Linux 10.0 Extended Update Support 0:1.7.1-8.el10_0.3
  • Red Hat Red Hat Enterprise Linux 8 0:1.6-12.el8_10
  • Red Hat Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support 0:1.5-12.el8_4.5
  • Red Hat Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On 0:1.5-12.el8_4.5
  • Red Hat Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support 0:1.6-3.el8_6.2
  • Red Hat Red Hat Enterprise Linux 8.6 Telecommunications Update Service 0:1.6-3.el8_6.2
  • Red Hat Red Hat Enterprise Linux 8.6 Update Services for SAP Solutions 0:1.6-3.el8_6.2
  • Red Hat Red Hat Enterprise Linux 8.8 Telecommunications Update Service 0:1.6-6.el8_8.4
  • Red Hat Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions 0:1.6-6.el8_8.4
  • Red Hat Red Hat Enterprise Linux 9 0:1.6-19.el9_7.0.2, 0:1.6-19.el9_8.2
  • Red Hat Red Hat Enterprise Linux 9.0 Update Services for SAP Solutions 0:1.6-12.el9_0.3
  • Red Hat Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions 0:1.6-15.el9_2.3
  • Red Hat Red Hat Enterprise Linux 9.4 Extended Update Support 0:1.6-16.el9_4.2
  • Red Hat Red Hat Enterprise Linux 9.6 Extended Update Support 0:1.6-17.el9_6.4
  • Red Hat Red Hat OpenShift Container Platform 4.12 412.86.202606140301-0
  • Red Hat Red Hat OpenShift Container Platform 4.13 413.92.202606160406-0
  • Red Hat Red Hat OpenShift Container Platform 4.14 414.92.202606231112-0
  • Red Hat Red Hat OpenShift Container Platform 4.15 415.92.202606030318-0
  • Red Hat Red Hat OpenShift Container Platform 4.16 416.94.202606051757-0
  • Red Hat Red Hat OpenShift Container Platform 4.17 417.94.202606250942-0
  • Red Hat Red Hat OpenShift Container Platform 4.18 418.94.202606051320-0
  • Red Hat Red Hat OpenShift Container Platform 4.19 4.19.9.6.202606031700-0
  • Red Hat Red Hat AI Inference Server 3.2 1780681984
  • Red Hat Red Hat AI Inference Server 3.3 1782352847, 1782352919, 1782352950, 1782353093
  • Red Hat Red Hat Hardened Images 1.8.1-3.hum1
  • 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-39979

  • 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-39979

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 RHEL 9 1.6-19.el9_8.2
  • jq RHEL 10.2 1.7.1-11.el10_2.2
  • jq RHEL 9 1.6-19.el9_7.0.2
  • jq RHEL 10.1 1.7.1-11.el10_1.0.2
  • jq RHEL 8 1.6-12.el8_10
  • jq hummingbird 1 1.8.1-3.hum1
  • jq RHEL 8.6 TUS, RHEL 8.6 E4S, RHEL 8.6 AUS 1.6-3.el8_6.2
  • jq RHEL 8.4 EUS_LONG_LIFE, RHEL 8.4 AUS 1.5-12.el8_4.5

red hat advisories RHSA-2026:19365RHSA-2026:19151RHSA-2026:18047RHSA-2026:18048RHSA-2026:18045RHSA-2026:18046

  • 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 AlmaLinux 10 1.7.1-11.el10_2.2
  • jq AlmaLinux 9 1.6-19.el9_8.2
  • jq AlmaLinux 10 1.7.1-11.el10_1.0.2
  • jq AlmaLinux 9 1.6-19.el9_7.0.2
  • jq AlmaLinux 8 1.6-12.el8_10

almalinux advisories ALSA-2026:19151ALSA-2026:19365ALSA-2026:16692ALSA-2026:16693ALSA-2026:16252

  • jq Rocky Linux 10 1.7.1-11.el10_2.2
  • jq Rocky Linux 9 1.6-19.el9_8.2
  • jq Rocky Linux 8 1.6-12.el8_10
  • jq Rocky Linux 10 1.7.1-11.el10_1.0.2
  • jq Rocky Linux 9 1.6-19.el9_7.0.2

rocky linux advisories RLSA-2026:19151RLSA-2026:19365RLSA-2026:16252RLSA-2026:16692RLSA-2026:16693

  • jq Alpine 3.24, Alpine 3.23, Alpine 3.22 1.8.2-r0

alpine advisories ALPINE-CVE-2026-39979

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-82931

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

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-39979 updated cvss 8.2

jq: out-of-bounds read in jv_parse_sized() on error formatting for non-NUL-terminated buffers

  • Red Hat Ansible Automation Platform 2 ansible-automation-platform-26/controller-rhel9 Red Hat Ceph Storage 4 jq
    affected: workaround, no fix available “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.”
  • Red Hat AI Inference Server 3.2 rhaiis/model-opt-cuda-rhel9 1780681984
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:25096
  • Red Hat AI Inference Server 3.3 rhaiis/vllm-cuda-rhel9 1782352847, rhaiis/vllm-rocm-rhel9 1782353093, rhaiis/vllm-spyre-rhel9 1782352919, rhaiis/model-opt-cuda-rhel9 1782352950
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:30078
  • Red Hat CodeReady Linux Builder EUS (v.9.4) jq-devel 1.6-16.el9_4.2, jq-debuginfo 1.6-16.el9_4.2, jq-debugsource 1.6-16.el9_4.2
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18043
  • Red Hat CodeReady Linux Builder EUS (v.9.6) jq-devel 1.6-17.el9_6.4, jq-debuginfo 1.6-17.el9_6.4, jq-debugsource 1.6-17.el9_6.4
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18042
  • Red Hat Enterprise Linux AppStream (v. 8) jq 1.6-12.el8_10
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:16252
  • Red Hat Enterprise Linux AppStream AUS (v.8.4) jq 1.5-12.el8_4.5
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18048
  • Red Hat Enterprise Linux AppStream AUS (v.8.6) jq 1.6-3.el8_6.2 Red Hat Enterprise Linux AppStream E4S (v.8.6) jq 1.6-3.el8_6.2
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18047
show 26 more
  • Red Hat Enterprise Linux AppStream E4S (v.8.8) jq 1.6-6.el8_8.4
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18046
  • Red Hat Enterprise Linux AppStream E4S (v.9.0) jq 1.6-12.el9_0.3
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18045
  • Red Hat Enterprise Linux AppStream E4S (v.9.2) jq 1.6-15.el9_2.3
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18044
  • Red Hat Enterprise Linux AppStream EUS EXTENSION (v.8.4) jq 1.5-12.el8_4.5
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18048
  • Red Hat Enterprise Linux AppStream TUS (v.8.6) jq 1.6-3.el8_6.2
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18047
  • Red Hat Enterprise Linux AppStream TUS (v.8.8) jq 1.6-6.el8_8.4
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18046
  • Red Hat Enterprise Linux BaseOS (v. 9) jq 1.6-19.el9_8.2, jq 1.6-19.el9_7.0.2
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:16693
  • Red Hat Enterprise Linux BaseOS (v. 10) jq 1.7.1-11.el10_2.2, jq 1.7.1-11.el10_1.0.2
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:16692
  • Red Hat Enterprise Linux BaseOS EUS (v. 10.0) jq 1.7.1-8.el10_0.3
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18040
  • Red Hat Enterprise Linux BaseOS EUS (v.9.4) jq 1.6-16.el9_4.2
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18043
  • Red Hat Enterprise Linux BaseOS EUS (v.9.6) jq 1.6-17.el9_6.4
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18042
  • Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) jq-devel 1.6-19.el9_8.2, jq-devel 1.6-19.el9_7.0.2, jq-debuginfo 1.6-19.el9_8.2, jq-debuginfo 1.6-19.el9_7.0.2, jq-debugsource 1.6-19.el9_8.2, jq-debugsource 1.6-19.el9_7.0.2
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:16693
  • Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) jq-devel 1.7.1-11.el10_2.2, jq-devel 1.7.1-11.el10_1.0.2, jq-debuginfo 1.7.1-11.el10_2.2, jq-debuginfo 1.7.1-11.el10_1.0.2, jq-debugsource 1.7.1-11.el10_2.2, jq-debugsource 1.7.1-11.el10_1.0.2
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:16692
  • Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) jq-devel 1.7.1-8.el10_0.3, jq-debuginfo 1.7.1-8.el10_0.3, jq-debugsource 1.7.1-8.el10_0.3
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:18040
  • Red Hat Enterprise Linux CRB (v. 8) jq-devel 1.6-12.el8_10, jq-debuginfo 1.6-12.el8_10, jq-debugsource 1.6-12.el8_10
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:16252
  • Red Hat Hardened Images jq 1.8.1-3.hum1
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:8579
  • Red Hat OpenShift AI 3.4 rhai/base-image-neuron-rhel9 1790703542
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:74674
  • Red Hat OpenShift Container Platform 4.12 rhcos 412.86.202606140301
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:26528
  • Red Hat OpenShift Container Platform 4.13 rhcos 413.92.202606160406
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:26542
  • Red Hat OpenShift Container Platform 4.14 rhcos 414.92.202606231112
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:28887
  • Red Hat OpenShift Container Platform 4.15 rhcos 415.92.202606030318
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:23233
  • Red Hat OpenShift Container Platform 4.16 rhcos 416.94.202606051757
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:25044
  • Red Hat OpenShift Container Platform 4.17 rhcos 417.94.202606250942
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:34098
  • Red Hat OpenShift Container Platform 4.18 rhcos 418.94.202606051320
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:25181
  • Red Hat OpenShift Container Platform 4.19 rhcos 4.19.9.6.202606031700
    fixed: vendor fix “To mitigate this issue, manually ensure that every buffer is NUL-terminated before passing it to the 'jv_parse_sized' function.” RHSA-2026:23245
  • Red Hat Ansible Automation Platform 2 automation-controller, ansible-automation-platform-26/hub-rhel9
    not affected: vulnerable code not present

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
yes
Technical impact
partial
Assessed
6 mo ago

Exploit prediction

0.56% chance of exploitation in the next 30 days, higher than 46% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/jqlang/jq/security/advisories/GHSA-2hhh-px8h-355p referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 4.0 6.9 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
CISA ADP 3.1 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
CNA 4.0 6.9 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
NVD 3.1 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L
CNA 3.1 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H

Affected products

  • jqlang jq
  • Red Hat Red Hat Enterprise Linux 10
  • Red Hat Red Hat Enterprise Linux 10.0 Extended Update Support
  • Red Hat Red Hat Enterprise Linux 8
  • Red Hat Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support
  • Red Hat Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On
  • Red Hat Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support
  • Red Hat Red Hat Enterprise Linux 8.6 Telecommunications Update Service
  • Red Hat Red Hat Enterprise Linux 8.6 Update Services for SAP Solutions
  • Red Hat Red Hat Enterprise Linux 8.8 Telecommunications Update Service
  • Red Hat Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions
  • Red Hat Red Hat Enterprise Linux 9
  • Red Hat Red Hat Enterprise Linux 9.0 Update Services for SAP Solutions
  • Red Hat Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions
  • Red Hat Red Hat Enterprise Linux 9.4 Extended Update Support
  • Red Hat Red Hat Enterprise Linux 9.6 Extended Update Support
  • Red Hat Red Hat OpenShift Container Platform 4.12
  • Red Hat Red Hat OpenShift Container Platform 4.13
  • Red Hat Red Hat OpenShift Container Platform 4.14
  • Red Hat Red Hat OpenShift Container Platform 4.15
  • Red Hat Red Hat OpenShift Container Platform 4.16
  • Red Hat Red Hat OpenShift Container Platform 4.17
  • Red Hat Red Hat OpenShift Container Platform 4.18
  • Red Hat Red Hat OpenShift Container Platform 4.19
  • Red Hat Red Hat AI Inference Server 3.2
  • Red Hat Red Hat AI Inference Server 3.3
  • Red Hat Red Hat Hardened Images
  • Red Hat Red Hat Ansible Automation Platform 2
  • Red Hat Red Hat Ceph Storage 4

Classification

Weakness

References

Sources

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.

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