Katalog CVE

CVE-2026-39956

ŚrednieCVSS 6.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.17%

Percentyl 7 - wyżej niż 7% wszystkich znanych CVE

Streszczenie

jq przed wersją 1.8.2 zawiera podatność w wbudowanej funkcji _strindices, która przekazuje argumenty do jv_string_indexes() bez weryfikacji, czy są one stringami. Funkcja jv_string_indexes() polega wyłącznie na asercjach, które są usuwane w wersjach release kompilowanych z -DNDEBUG. Atakujący może spowodować awarię jq, np. przez _strindices(0), a także uzyskać kontrolowany dereferencję wskaźnika i ograniczony odczyt pamięci.

Ocena ryzyka

Ryzyko obejmuje możliwość zdalnego lub lokalnego spowodowania awarii procesu jq, co może prowadzić do niedostępności usług przetwarzających niezaufane filtry jq. W skrajnych przypadkach może umożliwić odczyt wrażliwych danych z pamięci.

Rekomendacja

Zaleca się aktualizację jq do wersji 1.8.2 lub nowszej, która zawiera poprawkę. Należy również unikać przetwarzania niezaufanych filtrów jq w środowiskach produkcyjnych bez odpowiedniej izolacji.

Inne podatności w jq

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

jq is a command-line JSON processor. Prior to version 1.8.2, the _strindices builtin in jq's src/builtin.c passes its arguments directly to jv_string_indexes() without verifying they are strings, and jv_string_indexes() in src/jv.c relies solely on assert() checks that are stripped in release builds compiled with -DNDEBUG. This allows an attacker to crash jq trivially with input like _strindices(0), and by crafting a numeric value whose IEEE-754 bit pattern maps to a chosen pointer, achieve a controlled pointer dereference and limited memory read/probe primitive. Any deployment that evaluates untrusted jq filters against a release build is vulnerable. This issue has been patched in commit fdf8ef0f0810e3d365cdd5160de43db46f57ed03, which is part of version 1.8.2.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS