Vulnerability · Published Apr 13, 2026 · Assigned by GitHub_M
CVE-2026-39979jq: Out-of-Bounds Read in jv_parse_sized() Error Formatting for Non-NUL-Terminated Counted Buffers
High 8.2
In plain English
A high-severity out-of-bounds read in jq from jqlang. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 47% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux:10 | jq | 1.7.1-11.el10_2.2 | ALSA-2026:19151 |
| AlmaLinux:10 | jq | 1.7.1-11.el10_1.0.2 | ALSA-2026:16692 |
| AlmaLinux:8 | jq | 1.6-12.el8_10 | ALSA-2026:16252 |
| AlmaLinux:9 | jq | 1.6-19.el9_8.2 | ALSA-2026:19365 |
| AlmaLinux:9 | jq | 1.6-19.el9_7.0.2 | ALSA-2026:16693 |
| AlmaLinux:10 | jq-devel | 1.7.1-11.el10_1.0.2 | ALSA-2026:16692 |
| AlmaLinux:10 | jq-devel | 1.7.1-11.el10_2.2 | ALSA-2026:19151 |
| AlmaLinux:8 | jq-devel | 1.6-12.el8_10 | ALSA-2026:16252 |
| AlmaLinux:9 | jq-devel | 1.6-19.el9_8.2 | ALSA-2026:19365 |
| AlmaLinux:9 | jq-devel | 1.6-19.el9_7.0.2 | ALSA-2026:16693 |
| Alpine:v3.22 | jq | 1.8.2-r0 | ALPINE-CVE-2026-39979 |
| Alpine:v3.23 | jq | 1.8.2-r0 | ALPINE-CVE-2026-39979 |
| Alpine:v3.24 | jq | 1.8.2-r0 | ALPINE-CVE-2026-39979 |
| Debian:12 | jq | 1.6-2.1+deb12u2 | DEBIAN-CVE-2026-39979 |
| Debian:13 | jq | 1.7.1-6+deb13u2 | DEBIAN-CVE-2026-39979 |
| Debian:14 | jq | 1.8.1-5 | DEBIAN-CVE-2026-39979 |
| Rocky Linux:10 | jq | 0:1.7.1-11.el10_1.0.2 | RLSA-2026:16692 |
| Rocky Linux:10 | jq | 0:1.7.1-11.el10_2.2 | RLSA-2026:19151 |
| Rocky Linux:8 | jq | 0:1.6-12.el8_10 | RLSA-2026:16252 |
| Rocky Linux:9 | jq | 0:1.6-19.el9_8.2 | RLSA-2026:19365 |
| Rocky Linux:9 | jq | 0:1.6-19.el9_7.0.2 | RLSA-2026:16693 |
| Ubuntu:22.04:LTS | jq | 1.6-2.1ubuntu3.2 | UBUNTU-CVE-2026-39979 |
| Ubuntu:22.04:LTS | jq | 1.6-2.1ubuntu3.2 | USN-8202-1 |
| Ubuntu:24.04:LTS | jq | 1.7.1-3ubuntu0.24.04.2 | UBUNTU-CVE-2026-39979 |
| Ubuntu:24.04:LTS | jq | 1.7.1-3ubuntu0.24.04.2 | USN-8202-1 |
| Ubuntu:25.10 | jq | 1.8.1-3ubuntu1.1 | USN-8202-1 |
| Ubuntu:25.10 | jq | 1.8.1-3ubuntu1.1 | UBUNTU-CVE-2026-39979 |
| Ubuntu:26.04:LTS | jq | 1.8.1-4ubuntu2 | UBUNTU-CVE-2026-39979 |
Affected products (as reported)
Weakness: CWE-125 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
References
- https://github.com/jqlang/jq/security/advisories/GHSA-2hhh-px8h-355p x_refsource_CONFIRM
- https://github.com/jqlang/jq/commit/2f09060afab23fe9390cce7cb860b10416e1bf5f x_refsource_MISC
- https://access.redhat.com/security/cve/CVE-2026-39979 vdb-entry, x_refsource_REDHAT
- RHBZ#2458077 issue-tracking, x_refsource_REDHAT
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-39979.json x_sadp-csaf-vex
- https://access.redhat.com/errata/RHSA-2026:26528 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:26542 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:28887 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:23233 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:25044 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:34098 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:25181 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:23245 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:16252 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:18048 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:18047 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:18046 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:18045 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:18044 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:18040 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:16692 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:19151 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:18043 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:18042 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:16693 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:19365 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:25096 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:30078 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:30089 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:30088 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:30087 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:8579 vendor-advisory, x_refsource_REDHAT