CVE-2026-59949
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 39 - wyżej niż 39% wszystkich znanych CVE
Streszczenie
W bibliotece yawkat LZ4 Java przed wersją 1.11.1 funkcje haszujące XXHash oparte na JNI nie sprawdzają poprawności tablicy bajtów oraz argumentów off i len, co pozwala na przekazanie pustych tablic lub zbyt dużych zakresów do kodu natywnego. Może to prowadzić do odczytu poza tablicą Java i awaryjnego zakończenia działania JVM. Problem został naprawiony w wersji 1.11.1.
Ocena ryzyka
Atakujący może spowodować awarię aplikacji Java (odmowa usługi) poprzez wywołanie podatnych funkcji z nieprawidłowymi argumentami. Może to prowadzić do przerwania działania usług krytycznych.
Rekomendacja
Zaktualizuj bibliotekę yawkat LZ4 Java do wersji 1.11.1 lub nowszej, która zawiera poprawkę.
Inne podatności w yawkat LZ4 Java
Zobacz wszystkie- CVE-2026-106453Średnie
W yawkat LZ4 Java przed wersją 1.11.2 klasa LZ4DecompressorWithLength ufa czterobajtowemu nagłówkowi długości przed walidacją danych wejściowych, co pozwala pięciobajtowemu wejściu zadeklarować duży rozmiar wyjściowy i wyczerpać stertę JVM. Przeciążenia zapisujące do bufora dostarczonego przez wywołującego nie są podatne.
- CVE-2026-106452Średnie
W yawkat LZ4 Java przed wersją 1.11.2 klasa LZ4BlockInputStream.refill() waliduje pole compressedLen w nagłówku LZ4Block jako nieujemne, ale przydziela bufor wejściowy o rozmiarze kontrolowanym przez atakującego przed odczytaniem danych. Strumień zawierający tylko nagłówek może zażądać alokacji bliskiej 2 GiB i wyczerpać stertę JVM.
- CVE-2026-106451Wysokie
Biblioteka yawkat LZ4 Java w wersjach od 1.7.0 do 1.11.4 zawiera podatność polegającą na niebezpiecznym tworzeniu pliku tymczasowego. Atakujący z dostępem do wspólnego katalogu tymczasowego może podmienić plik biblioteki natywnej przed jej załadowaniem, co może prowadzić do wykonania kodu w kontekście ofiary.
- CVE-2026-106450Średnie
W yawkat LZ4 Java przed wersją 1.11.4 klasa LZ4FrameInputStream.readHeader() przydziela dwa bufory bloków po 4 MiB przy odczycie nagłówka ramki o maksymalnym rozmiarze bloku. Tryb domyślny pozwala atakującemu na strumienie z wieloma pustymi ramkami, powodując alokację około 8 MiB na każde 11 bajtów wejścia, bez generowania danych wyjściowych.
- CVE-2026-106449Niskie
yawkat LZ4 Java zapewnia kompresję LZ4 dla Javy. Przed wersją 1.11.4 net.jpountz.lz4.LZ4BlockInputStream skonfigurowany z stopOnEmptyBlock ustawionym na false obsługuje każdy poprawnie sformułowany pusty LZ4Block poprzez rekurencyjne wywołanie refill(), co pozwala długiej sekwencji pustych bloków w kontrolowanym przez atakującego strumieniu skompresowanym wyczerpać stos wątku dekodującego i zgłosić StackOverflowError. Domyślne ustawienie stopOnEmptyBlock to true i nie jest dotknięte, a problem nie powoduje uszkodzenia pamięci.
Oryginalny opis (angielski, źródło NVD)
yawkat LZ4 Java provides LZ4 compression for Java. Prior to 1.11.1, JNI-backed XXHash implementations fail to validate the byte array object and the off and len arguments in XXHashFactory.nativeInstance().hash32().hash(), XXHashFactory.nativeInstance().hash64().hash(), XXHashFactory.nativeInstance().newStreamingHash32().update(), and XXHashFactory.nativeInstance().newStreamingHash64().update(), allowing null arrays or oversized ranges to reach native code, read outside the Java array, and fatally terminate the JVM. This issue is fixed in version 1.11.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

