CVE-2026-39979 in jqlang
Riassunto
di VulDB • 01/07/2026
jq è un elaboratore JSON da riga di comando. Nelle versioni precedenti al commit 2f09060afab23fe9390cce7cb860b10416e1bf5f, l'API jv_parse_sized() in libjq accetta un buffer conteggiato con un parametro di lunghezza esplicito, ma il suo percorso di gestione degli errori formatta il buffer di input utilizzando %s in jv_string_fmt(), che legge fino al ritrovamento del terminatore NUL invece di rispettare la lunghezza fornita dal chiamante. Ciò significa che quando viene passato JSON non valido all'interno di un buffer non terminato da NUL, la logica di costruzione dell'errore esegue una lettura fuori dai limiti (out-of-bounds) oltre la fine del buffer. La vulnerabilità è raggiungibile da qualsiasi consumatore di libjq che chiama jv_parse_sized() con input non attendibili e, a seconda della disposizione in memoria, può causare divulgazione di dati sensibili dalla memoria o terminazione del processo. Il problema è stato risolto nel commit 2f09060afab23fe9390cce7cb860b10416e1bf5f.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.