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
Link Providers
https://access.redhat.com/errata/RHSA-2026:16252 cve-icon
https://access.redhat.com/errata/RHSA-2026:16692 cve-icon
https://access.redhat.com/errata/RHSA-2026:16693 cve-icon
https://access.redhat.com/errata/RHSA-2026:18040 cve-icon
https://access.redhat.com/errata/RHSA-2026:18042 cve-icon
https://access.redhat.com/errata/RHSA-2026:18043 cve-icon
https://access.redhat.com/errata/RHSA-2026:18044 cve-icon
https://access.redhat.com/errata/RHSA-2026:18045 cve-icon
https://access.redhat.com/errata/RHSA-2026:18046 cve-icon
https://access.redhat.com/errata/RHSA-2026:18047 cve-icon
https://access.redhat.com/errata/RHSA-2026:18048 cve-icon
https://access.redhat.com/errata/RHSA-2026:19151 cve-icon
https://access.redhat.com/errata/RHSA-2026:19365 cve-icon
https://access.redhat.com/errata/RHSA-2026:23233 cve-icon
https://access.redhat.com/errata/RHSA-2026:23245 cve-icon
https://access.redhat.com/errata/RHSA-2026:25044 cve-icon
https://access.redhat.com/errata/RHSA-2026:25096 cve-icon
https://access.redhat.com/errata/RHSA-2026:25181 cve-icon
https://access.redhat.com/errata/RHSA-2026:26528 cve-icon
https://access.redhat.com/errata/RHSA-2026:26542 cve-icon
https://access.redhat.com/errata/RHSA-2026:28887 cve-icon
https://access.redhat.com/errata/RHSA-2026:30078 cve-icon
https://access.redhat.com/errata/RHSA-2026:30087 cve-icon
https://access.redhat.com/errata/RHSA-2026:30088 cve-icon
https://access.redhat.com/errata/RHSA-2026:30089 cve-icon
https://access.redhat.com/errata/RHSA-2026:34098 cve-icon
https://access.redhat.com/errata/RHSA-2026:8579 cve-icon
https://access.redhat.com/security/cve/CVE-2026-39979 cve-icon
https://bugzilla.redhat.com/show_bug.cgi?id=2458077 cve-icon
https://github.com/jqlang/jq/commit/2f09060afab23fe9390cce7cb860b10416e1bf5f cve-icon cve-icon cve-icon
https://github.com/jqlang/jq/security/advisories/GHSA-2hhh-px8h-355p cve-icon cve-icon cve-icon cve-icon
https://nvd.nist.gov/vuln/detail/CVE-2026-39979 cve-icon
https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-39979.json cve-icon
https://www.cve.org/CVERecord?id=CVE-2026-39979 cve-icon
History

Thu, 23 Apr 2026 17:00:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:jqlang:jq:*:*:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 8.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H'}

cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L'}


Wed, 15 Apr 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 8.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H'}

threat_severity

Important


Tue, 14 Apr 2026 16:30:00 +0000

Type Values Removed Values Added
First Time appeared Jqlang
Jqlang jq
Vendors & Products Jqlang
Jqlang jq

Tue, 14 Apr 2026 14:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 13 Apr 2026 22:45:00 +0000

Type Values Removed Values Added
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.
Title jq: Out-of-Bounds Read in jv_parse_sized() Error Formatting for Non-NUL-Terminated Counted Buffers
Weaknesses CWE-125
References
Metrics cvssV4_0

{'score': 6.9, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published: 2026-04-13T22:18:56.252Z

Updated: 2026-07-15T01:01:40.651Z

Reserved: 2026-04-08T00:01:47.628Z

Link: CVE-2026-39979

cve-icon Vulnrichment

Updated: 2026-07-10T12:05:54.906Z

cve-icon NVD

Status : Modified

Published: 2026-04-13T23:16:27.823

Modified: 2026-07-15T02:20:54.453

Link: CVE-2026-39979

cve-icon Redhat

Severity : Important

Publid Date: 2026-04-13T22:18:56Z

Links: CVE-2026-39979 - Bugzilla