CVE-2026-49839
Full vulnerability record from the local CVENow database.
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.
View original CVE JSON
{
"id": "CVE-2026-49839",
"sourceIdentifier": "[email protected]",
"published": "2026-06-25T18:16:38.917",
"lastModified": "2026-10-25T22:10:00.150",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
},
{
"lang": "es",
"value": "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."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "jqlang",
"product": "jq",
"versions": [
{
"version": "< 1.8.2",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H",
"baseScore": 7.1,
"baseSeverity": "HIGH",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "REQUIRED",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 1.8,
"impactScore": 5.2
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-06-25T17:55:24.168681Z",
"id": "CVE-2026-49839",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-787"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:jqlang:jq:*:*:*:*:*:*:*:*",
"versionEndExcluding": "1.8.2",
"matchCriteriaId": "33B35B19-67AD-450E-A887-48A290566047"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/jqlang/jq/security/advisories/GHSA-cfh2-vwfq-qfmm",
"source": "[email protected]",
"tags": [
"Exploit",
"Vendor Advisory"
]
},
{
"url": "https://github.com/jqlang/jq/security/advisories/GHSA-cfh2-vwfq-qfmm",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Exploit",
"Vendor Advisory"
]
}
]
}