CVE-2026-106450
ŚrednieCVSS 5.3Streszczenie
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.
Ocena ryzyka
Atakujący może zdalnie wyczerpać pamięć i obciążyć procesor oraz mechanizm odśmiecania, powodując odmowę usługi.
Rekomendacja
Zaktualizuj bibliotekę yawkat LZ4 Java do wersji 1.11.4 lub nowszej.
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-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.
- CVE-2026-59949Średnie
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.
Oryginalny opis (angielski, źródło NVD)
yawkat LZ4 Java provides LZ4 compression for Java. Prior to 1.11.4, net.jpountz.lz4.LZ4FrameInputStream readHeader() allocates two new 4 MiB block buffers whenever a maximum-block-size frame header is read, and the default concatenated-frame mode allows attacker-controlled streams containing many minimal empty frames to trigger roughly 8 MiB of allocation for every 11 input bytes. The stream produces no decompressed output while consuming CPU and garbage-collection time, so decompressed-size limits do not mitigate the issue; readSingleFrame mode is not affected. This issue is fixed in version 1.11.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

