CVE-2026-106453
ŚrednieCVSS 5.3Streszczenie
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.
Ocena ryzyka
Atakujący może zdalnie wywołać wyczerpanie pamięci (OutOfMemoryError) i zatrzymać aplikację Java.
Rekomendacja
Zaktualizuj bibliotekę yawkat LZ4 Java do wersji 1.11.2 lub nowszej.
Inne podatności w yawkat LZ4 Java
Zobacz wszystkie- 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.
- 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.2, LZ4DecompressorWithLength uses getDecompressedLength to trust the four-byte decompressed-length header before validating the compressed input, allowing a five-byte attacker-supplied input whose header declares a large output size to request up to approximately 2 GiB and exhaust the JVM heap. Convenience overloads backed by LZ4FastDecompressor or LZ4SafeDecompressor allocate the untrusted size, while overloads that write to a caller-provided destination buffer are not affected because the caller controls the destination size. This issue is fixed in version 1.11.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

