Description
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).
Published: 2026-05-11
Score: 6.2 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

jq processes JSON via a command-line tool. In versions up to 1.8.1, supplying a decimal literal with INT_MAX‒1 digits triggers an integer overflow in the decNumber D2U() macro. The overflow causes the function to bypass a heap‑allocation size check, use a 30‑byte stack buffer, and then write roughly 1.4 GiB of attacker‑controlled data at an offset well below the stack frame. The written content is derived directly from the parsed decimal digits, allowing the attacker to fabricate arbitrary data in the process memory. As a result, an attacker who can supply such input can corrupt stack memory, potentially leading to control‑flow hijack or denial of service.

Affected Systems

The vendor “jqlang” provides the jq tool. Versions 1.8.1 and earlier are affected; newer releases are not listed as vulnerable in the advisory.

Risk and Exploitability

The CVSS score of 6.2 indicates a moderate severity vulnerability. No EPSS data is available, and the vulnerability is not listed in the CISA KEV catalog. The exploit requires the attacker to invoke jq with a specially crafted numeric literal, so the attack vector is likely local or based on untrusted input to jq. The resulting stack write can overwrite return addresses or control‑flow data, giving the attacker the ability to execute arbitrary code or crash the process. While remote exploitation is not explicitly described, any environment that allows untrusted data to reach jq is potentially at risk.

Generated by OpenCVE AI on May 11, 2026 at 19:36 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade jq to a version newer than 1.8.1, ensuring the flaw is fixed.
  • Remove or quarantine any copies of the vulnerable jq binary so it cannot be invoked by applications or users.
  • Audit scripts and pipelines that use jq to confirm they are running the patched version and that no untrusted numeric literals are processed by the tool.

Generated by OpenCVE AI on May 11, 2026 at 19:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 12 May 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 11 May 2026 20:00:00 +0000

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

Mon, 11 May 2026 19:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Mon, 11 May 2026 18:00:00 +0000

Type Values Removed Values Added
Description 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).
Title jq: Wild stack write via signed-integer overflow in decNumber D2U() macro
Weaknesses CWE-190
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-11T18:32:43.668Z

Reserved: 2026-05-04T15:17:09.330Z

Link: CVE-2026-43894

cve-icon Vulnrichment

Updated: 2026-05-11T18:32:39.507Z

cve-icon NVD

Status : Received

Published: 2026-05-11T18:16:37.250

Modified: 2026-05-11T20:25:45.993

Link: CVE-2026-43894

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-05-11T17:20:06Z

Links: CVE-2026-43894 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-05-11T19:45:08Z

Weaknesses