CVE-2026-39956 in jqlang
Zusammenfassung
von VulDB • 12.06.2026
jq ist ein JSON-Prozessor für die Befehlszeile. In Commits nach 69785bf77f86e2ea1b4a20ca86775916889e91c9 übergibt die eingebaute Funktion _strindices in jq's src/builtin.c ihre Argumente direkt an jv_string_indexes(), ohne zu überprüfen, ob es sich um Strings handelt. Die Funktion jv_string_indexes() in src/jv.c verlässt sich ausschließlich auf assert()-Prüfungen, die bei Release-Builds kompiliert mit -DNDEBUG entfernt werden. Dies ermöglicht es einem Angreifer, jq trivial zum Absturz zu bringen, indem Eingaben wie _strindices(0) verwendet werden, und durch Anfertigen eines numerischen Werts, dessen IEEE-754-Bitmuster auf einen gewählten Zeiger abbildet, eine kontrollierte Dereferenzierung von Zeigern sowie ein begrenztes Speicherlese-/Sondierprimitive zu erreichen. Jede Bereitstellung, die unzuverlässige jq-Filter gegen einen Release-Build auswertet, ist anfällig für diese Schwachstelle. Dieses Problem wurde im Commit fdf8ef0f0810e3d365cdd5160de43db46f57ed03 behoben.
If you want to get best quality of vulnerability data, you may have to visit VulDB.