jq: Wild stack write via signed-integer overflow in decNumber D2U() macro
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| jqlang | jq | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Jqlang | Jq |
|
| Source | ID | Title |
|---|---|---|
Debian DLA |
DLA-4661-1 | jq security update |
Debian DLA |
DLA-4662-1 | jq security update |
Debian DSA |
DSA-6416-1 | jq security update |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.158% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:jqlang:jq:*:*:*:*:*:*:*:* |
| Type | Values Removed | Values Added |
|---|---|---|
| References |
| |
| Metrics |
threat_severity
|
threat_severity
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Jqlang
Jqlang jq |
|
| Vendors & Products |
Jqlang
Jqlang jq |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| 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
|