What’s Vulnerable › Vulnerabilities
CVE-2026-49839: jq --rawfile invalid-state reuse after String too long causes heap-buffer-overflow
- Severity: high (CVSS 7.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2026-06-25 · updated 2026-10-25
- Weakness: CWE-787
Description
jq is a command-line JSON processor. Prior to 1.8.2,` jq --rawfile` can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.
Affected products
- jqlang jq: before 1.8.2 — fixed in 1.8.2
How to fix
Upgrade to a fixed version: jqlang jq 1.8.2. Check the vendor advisory for mitigations.
References
- https://github.com/jqlang/jq/security/advisories/GHSA-cfh2-vwfq-qfmm
- https://github.com/jqlang/jq/security/advisories/GHSA-cfh2-vwfq-qfmm
Get alerted when CVE-2026-49839 or the next vulnerability affects your stack