Description
decNumberCopy in decNumber.c in jq through 1.7.1 does not properly consider that NaN is interpreted as numeric, which has a resultant stack-based buffer overflow and out-of-bounds write, as demonstrated by use of --slurp with subtraction, such as a filter of .-. when the input has a certain form of digit string with NaN (e.g., "1 NaN123" immediately followed by many more digits).
Metrics
CVSS 3.1 8.1/10
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| jqlang | jq | <= 1.7.1 |
References
- https://gist.github.com/Ekkosun/a83870ce7f3b7813b9b462a395e8ad92Third Party Advisory
- https://github.com/jqlang/jq/blob/71c2ab509a8628dbbad4bc7b3f98a64aa90d3297/src/decNumber/decNumber.c#L3375Product
- https://github.com/jqlang/jq/issues/3196Exploit, Issue Tracking, Vendor Advisory
- https://github.com/jqlang/jq/issues/3296Issue Tracking, Vendor Advisory
- https://github.com/jqlang/jq/security/advisories/GHSA-x6c3-qv5r-7q22Vendor Advisory
Timeline
- Published
- Feb 26, 2025
- Last modified
- Jun 17, 2026
- NVD status
- Analyzed