CVE-2026-47770
ŚrednieCVSS 5.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 — wyżej niż 2% wszystkich znanych CVE
Streszczenie
Podatność w narzędziu jq (wersje przed 1.8.2) umożliwia atak DoS poprzez wyczerpanie stosu C podczas porównywania głęboko zagnieżdżonych tablic za pomocą operatora ==. Problem wynika z braku zabezpieczenia przed niekontrolowaną rekurencją w funkcjach jvp_array_equal() i jv_equal() w pliku src/jv.c.
Ocena ryzyka
Atakujący może wysłać specjalnie spreparowane, głęboko zagnieżdżone dane JSON, powodując awarię procesu jq i przerwanie działania usług zależnych od tego narzędzia.
Rekomendacja
Należy niezwłocznie zaktualizować jq do wersji 1.8.2 lub nowszej. W przypadku braku możliwości aktualizacji, ogranicz dostęp do przetwarzania niezaufanych danych JSON przez jq.
Oryginalny opis (angielski, źródło NVD)
jq is a command-line JSON processor. Prior to 1.8.2, comparing two sufficiently deeply nested arrays with the == operator exhausts the C stack on jq's ordinary command-line surface, resulting in denial of service via stack exhaustion (uncontrolled recursion). The crash occurs in jq's recursive structural comparison code, with the recursion repeating through jvp_array_equal() and jv_equal() in src/jv.c when comparing deeply nested arrays; a nearby sort comparator path through jv_cmp() in src/jv_aux.c overflows the stack at a larger nesting depth from the same missing recursion guard. Anyone running jq comparisons on attacker-controlled deeply nested JSON values, or embedding jq in a context where untrusted data can reach the == comparison path, is affected. This vulnerability is fixed in 1.8.2.

