CVE-2026-49839
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 — wyżej niż 6% wszystkich znanych CVE
Streszczenie
W jq przed wersją 1.8.2, użycie opcji `--rawfile` z kontrolowanym przez atakującego plikiem może prowadzić do zapisu poza dozwolonym obszarem sterty w wersjach bez asercji. Błąd wynika z braku przerwania pętli po wystąpieniu błędu „String too long”, co powoduje dalsze operacje na nieprawidłowym obiekcie.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do spowodowania awarii procesu lub potencjalnie do wykonania dowolnego kodu w kontekście użytkownika uruchamiającego jq, co stanowi zagrożenie dla integralności i poufności danych.
Rekomendacja
Należy niezwłocznie zaktualizować jq do wersji 1.8.2 lub nowszej, która zawiera poprawkę eliminującą tę podatność.
Oryginalny opis (angielski, źródło NVD)
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.

