Read the docs
TI-2026-31958 Aliases CVE-2026-43894

jq: Wild stack write via signed-integer overflow in decNumber D2U() macro

Priority MEDIUM 61CWE-190Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Partial Red Hat: 1 fixed, 6 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat. Impact type from CWE-190 and the CVSS impact.

Summary

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00158 4th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Partial Red Hat: 1 advisoryRed Hat: 1 fixed, 6 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
jqlangjqup to 1.8.1—No fix listedCNA
  • jq Vendorjqlang Affected up to 1.8.1 Fixed in — No fix listed CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:jqlang:jq:*:*:*:*:*:*:*:*up to 1.8.1Vulnerablejqlang
  • cpe:2.3:a:jqlang:jq:*:*:*:*:*:*:*:* Versions up to 1.8.1 Vulnerable ·jqlang

Remediation

Red Hat 1 advisory

  • RHSA-2026:29986 Released 2026-06-25 · Red Hat rating Moderate
    Red Hat Hardened Images RPMs bug fix and enhancement update
    • Red Hat Hardened Images jq-1.8.2-0.1.hum1@aarch64, jq-1.8.2-0.1.hum1@src, jq-1.8.2-0.1.hum1@x86_64 +2

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Ansible Automation Platform 2AffectedNo fix yet: Fix deferred
Red Hat Ceph Storage 4AffectedNo fix planned: Out of support scope
Red Hat Enterprise Linux 10AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 8AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 9AffectedNo fix planned: Out of support scope
Red Hat OpenShift Container Platform 4AffectedNo fix yet: Fix deferred
Red Hat Hardened ImagesFixed RHSA-2026:29986

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-43894

References

  • TI-2026-24844 jq: Integer overflow in jvp_string_append() allows Heap-based Buffer Overflow CVSS 3.1HIGH 8.2
  • TI-2025-30431 AddressSanitizer: stack-buffer-overflow in jq_fuzz_execute (jv_string_vfmt) CVSS 4.0HIGH 7.7
  • TI-2023-26962 decToString in decNumber/decNumber.c in jq 88f01a7 has a one-byte out-of-bounds write via… CVSS 3.1HIGH 7.5
  • TI-2026-28834 jq: Out-of-Bounds Read in jv_parse_sized() Error Formatting for Non-NUL-Terminated Counted Buffers CVSS 4.0MEDIUM 6.9
  • TI-2024-35799 Type confusion in jqlang jq CVSS 3.1HIGH 8.1
  • TI-2026-36743 jq --rawfile invalid-state reuse after String too long causes heap-buffer-overflow CVSS 3.1HIGH 7.1
See all 21 →

Sources