CVE-2026-49839

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.
Configurations

Configuration 1 (hide)

cpe:2.3:a:jqlang:jq:*:*:*:*:*:*:*:*

History

25 Oct 2026, 22:10

Type Values Removed Values Added
Summary
  • (es) jq es un procesador JSON de línea de comandos. Antes de 1.8.2, ’jq --rawfile’ puede convertir un error de cadena sobredimensionada manejado en una reutilización de estado inválido y una escritura real fuera de límites del heap en compilaciones con aserciones deshabilitadas. Cuando jv_load_file(raw=1) lee un archivo controlado por el atacante, añade repetidamente fragmentos de archivo al mismo acumulador de cadenas jv. Una vez que jv_string_append_buf() devuelve jv_invalid_with_msg(’String too long’), el bucle de archivo raw no se detiene. Si el archivo contiene al menos un byte más, la siguiente iteración del bucle añade un nuevo fragmento a un objeto que ya es inválido. Con las aserciones habilitadas, esto aborta en jvp_string_ptr(). Con las aserciones deshabilitadas, el objeto inválido se interpreta como un objeto de cadena y ASan informa de un desbordamiento de búfer del heap. Esta vulnerabilidad está corregida en 1.8.2.

Information

Published : 2026-06-25 18:16

Updated : 2026-10-25 22:10


NVD link : CVE-2026-49839

Mitre link : CVE-2026-49839

CVE.ORG link : CVE-2026-49839


JSON object : View

Products Affected

jqlang

  • jq
CWE
CWE-787

Out-of-bounds Write