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).
References
| Link | Resource |
|---|---|
| https://gist.github.com/Ekkosun/a83870ce7f3b7813b9b462a395e8ad92 | Third Party Advisory |
| https://github.com/jqlang/jq/blob/71c2ab509a8628dbbad4bc7b3f98a64aa90d3297/src/decNumber/decNumber.c#L3375 | Product |
| https://github.com/jqlang/jq/issues/3196 | Exploit Issue Tracking Vendor Advisory |
| https://github.com/jqlang/jq/issues/3296 | Issue Tracking Vendor Advisory |
| https://github.com/jqlang/jq/security/advisories/GHSA-x6c3-qv5r-7q22 | Vendor Advisory |
Configurations
History
No history.
Information
Published : 2025-02-26 16:15
Updated : 2025-07-01 21:25
NVD link : CVE-2024-53427
Mitre link : CVE-2024-53427
CVE.ORG link : CVE-2024-53427
JSON object : View
Products Affected
jqlang
- jq
CWE
CWE-843
Access of Resource Using Incompatible Type ('Type Confusion')
