Vulnerability · Published May 11, 2026 · Assigned by GitHub_M
CVE-2026-43894jq: Wild stack write via signed-integer overflow in decNumber D2U() macro
Medium 6.2
In plain English
A medium-severity integer overflow 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.2% (higher than 5% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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).
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine:v3.22 | jq | 1.8.2-r0 | ALPINE-CVE-2026-43894 |
| Alpine:v3.23 | jq | 1.8.2-r0 | ALPINE-CVE-2026-43894 |
| Alpine:v3.24 | jq | 1.8.2-r0 | ALPINE-CVE-2026-43894 |
| Debian:12 | jq | 1.6-2.1+deb12u2 | DEBIAN-CVE-2026-43894 |
| Debian:13 | jq | 1.7.1-6+deb13u3 | DEBIAN-CVE-2026-43894 |
| Debian:14 | jq | 1.8.1-6 | DEBIAN-CVE-2026-43894 |
| Ubuntu:22.04:LTS | jq | no fix listed | UBUNTU-CVE-2026-43894 |
| Ubuntu:24.04:LTS | jq | no fix listed | UBUNTU-CVE-2026-43894 |
| Ubuntu:25.10 | jq | no fix listed | UBUNTU-CVE-2026-43894 |
| Ubuntu:26.04:LTS | jq | no fix listed | UBUNTU-CVE-2026-43894 |
| Ubuntu:26.10 | jq | no fix listed | UBUNTU-CVE-2026-43894 |
Affected products (as reported)
Weakness: CWE-190 · Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
References
- https://github.com/jqlang/jq/security/advisories/GHSA-5v7p-2r57-2g4g x_refsource_CONFIRM