CVE-2024-23337
NoneCVSS
—
EPSS
0.5%
Published
May 21, 2025
CISA due date
—
Cloudanix analysis
A bug in a common tool for handling JSON data can be triggered by certain inputs to make the tool crash and stop working.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
Integer overflow triggered by assigning a value at index 2147483647 in jq versions up to 1.7.1, resulting in memory corruption that causes a denial of service.
Why it matters to the business
Disrupts JSON processing pipelines, automation scripts, and data handling tools across Linux environments, potentially halting operations that depend on jq for parsing or transformation.
How an attack unfolds
An attacker supplies a crafted JSON input or jq expression using the maximum signed 32-bit integer index to trigger the overflow in the assignment logic, leading to a crash without requiring authentication or special privileges.
How to fix it
Upgrade jq to the patched commit de21386681c0df0104a99d9d09db23a9b2a78b1e or apply the corresponding fixed Ubuntu packages such as linux 3.11.0-12.19, linux-aws 4.4.0-1002.2, or linux-aws-5.4 5.4.0-1135.145~18.04.1 depending on the distribution variant.
How to confirm the fix worked
Confirm jq version is newer than 1.7.1 or matches the listed fixed package versions; test by attempting assignment at index 2147483647 and verifying no crash occurs.
Typical attack path
- Identify systems or scripts invoking jq on untrusted or attacker-controlled input
- Craft a JSON payload or expression containing the index value 2147483647
- Invoke jq with the malicious input via command line or piped data
- Trigger integer overflow during value assignment, causing process termination
How to detect it
Monitor system and application logs for jq process crashes, segmentation faults, or abrupt terminations when processing JSON; review command history or audit logs for invocations involving large numeric indices.
- jq process segmentation fault
- integer overflow in jq assignment
- abnormal termination of jq on JSON input
What your security team should do
- Immediately update all instances of jq and dependent Ubuntu packages to the specified fixed versions
- Scan environments for outdated jq binaries and prioritize patching where jq processes untrusted input
- Implement input validation or sandboxing around jq invocations until upgrades are complete
The record
jq is a command-line JSON processor. In versions up to and including 1.7.1, an integer overflow arises when assigning value using an index of 2147483647, the signed integer limit. This causes a denial of service. Commit de21386681c0df0104a99d9d09db23a9b2a78b1e contains a patch for the issue.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | jq | 0 | 1.6-11.el8_10 |
| AlmaLinux:8 | jq-devel | 0 | 1.6-11.el8_10 |
| AlmaLinux:9 | jq | 0 | 1.6-17.el9_6.2 |
| AlmaLinux:9 | jq-devel | 0 | 1.6-17.el9_6.2 |
| Alpine:v3.22 | jq | 0 | 1.8.0-r0 |
| Debian:11 | jq | 0 | No fix |
| Debian:12 | jq | 0 | No fix |
| Debian:13 | jq | 0 | No fix |
| SUSE:Linux Enterprise Micro 5.1 | jq | 0 | 1.6-150000.3.6.1 |
| SUSE:Linux Enterprise Micro 5.2 | jq | 0 | 1.6-150000.3.6.1 |
| SUSE:Linux Enterprise Micro 5.3 | jq | 0 | 1.6-150000.3.6.1 |
| SUSE:Linux Enterprise Micro 5.4 | jq | 0 | 1.6-150000.3.6.1 |
| SUSE:Linux Enterprise Micro 5.5 | jq | 0 | 1.6-150000.3.6.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | jq | 0 | 1.6-150000.3.6.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | jq | 0 | 1.6-150000.3.6.1 |
| openSUSE:Leap 15.6 | jq | 0 | 1.6-150000.3.6.1 |
| openSUSE:Tumbleweed | jq | 0 | 1.8.1-1.1 |
Related vulnerabilities
- CVE-2025-48060 jq is a command-line JSON processor. Also affects jq
- CVE-2016-4074 The jv_dump_term function in jq 1.5 allows remote attackers to cause a denial of service… Also affects jq
- CVE-2025-9403 A vulnerability was determined in jqlang jq up to 1.6. Also affects jq
- CVE-2023-49355 decToString in decNumber/decNumber.c in jq 88f01a7 has a one-byte out-of-bounds write via… Also affects jq
- CVE-2026-54679 jq is a command-line JSON processor. Also affects jq
- CVE-2026-47770 jq is a command-line JSON processor. Also affects jq
- CVE-2026-49839 jq is a command-line JSON processor. Also affects jq
- CVE-2026-44777 jq is a command-line JSON processor. Also affects jq