CVE-2026-59204
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 32 - wyżej niż 32% wszystkich znanych CVE
Streszczenie
Podatność w bibliotece Pillow (wersje 8.2.0 do 12.2.0) powoduje nadmierne zużycie pamięci podczas dekodowania spreparowanego pliku JPEG2000 z kafelkami, co może prowadzić do odmowy usługi (OOM).
Ocena ryzyka
Ryzyko awarii aplikacji przetwarzających obrazy z powodu wyczerpania pamięci, szczególnie przy przetwarzaniu obrazów z nieufnych źródeł.
Rekomendacja
Zaktualizuj Pillow do wersji 12.3.0 lub nowszej. Ogranicz przetwarzanie obrazów JPEG2000 z niezweryfikowanych źródeł.
Inne podatności w Pillow
Zobacz wszystkie- CVE-2026-54058Krytyczne
Podatność w bibliotece Pillow przed wersją 12.3.0 pozwala atakującemu na odczyt pamięci procesu lub wywołanie błędu krytycznego podczas ładowania nieskompresowanego obrazu McIdas AREA przez ścieżkę mmap. Kontrolowane przez atakującego nagłówki obrazu mogą ustawić mniejszy krok wiersza niż naturalna szerokość, co prowadzi do odczytu poza mapowanym regionem.
- CVE-2016-4009Krytyczne
Przepełnienie całkowite w funkcji ImagingResampleHorizontal w bibliotece Pillow przed wersją 3.1.1 umożliwia zdalnym atakującym wywołanie nieokreślonego wpływu poprzez użycie ujemnych wartości nowego rozmiaru, co prowadzi do przepełnienia bufora w pamięci sterty.
- CVE-2026-59200Wysokie
W bibliotece Pillow (Python Imaging Library) w wersjach od 5.1.0 do 12.3.0 funkcja PdfParser.PdfStream.decode() wywołuje zlib.decompress() z rozmiarem bufora ustawionym na pole Length strumienia PDF, bez ograniczania rozmiaru zdekompresowanego wyjścia. Pozwala to na wyczerpanie pamięci przez spreparowany strumień FlateDecode PDF pochodzący z małego pliku.
- CVE-2026-59197Wysokie
Biblioteka Pillow (Python Imaging Library) przed wersją 12.3.0 zawiera podatność na zapis poza stertą (heap out-of-bounds write) w publicznym API rank-filter. Podanie bardzo dużego, nieparzystego rozmiaru filtru powoduje przepełnienie w obliczeniach wymiarów obrazu.
- CVE-2026-59205Wysokie
W bibliotece Pillow dla Pythona wykryto podatność polegającą na możliwości wywołania kontrolowanego uszkodzenia sterty natywnej przez API ImageCms.ImageCmsTransform.apply(im, imOut). Problem występuje, gdy dostarczony obraz wyjściowy ma tryb niezgodny z deklarowanym trybem wyjściowym transformacji.
- CVE-2026-59203Średnie
Biblioteka Pillow w wersjach od 12.0.0 do 12.2.0 zawiera podatność w parserze EPS (PIL/EpsImagePlugin.py), która pozwala na wykonanie nieskończonej pętli poprzez spreparowany plik EPS z ujemną liczbą bajtów w dyrektywie %%BeginBinary. Atakujący może wykorzystać tę lukę do wywołania odmowy usługi (DoS) podczas otwierania złośliwego pliku za pomocą Image.open().
- CVE-2026-59199Wysokie
W bibliotece Pillow dla Pythona wykryto podatność polegającą na zapisie poza dozwolonym obszarem sterty (heap out-of-bounds write) podczas przetwarzania współrzędnych obrazu bliskich granicom 32-bitowej liczby całkowitej ze znakiem. Problem dotyczy funkcji Image.paste(), Image.crop() oraz Image.alpha_composite() i został naprawiony w wersji 12.3.0.
- CVE-2026-59198Średnie
W bibliotece Pillow w wersjach od 5.2.0 do 12.3.0 wykryto podatność w enkoderze TGA RLE. Podczas zapisywania obrazu w trybie 1 z kompresją RLE, enkoder odczytuje dane poza buforem wiersza, co powoduje kopiowanie sąsiednich bajtów sterty procesu do generowanego pliku TGA. Problem został naprawiony w wersji 12.3.0.
- CVE-2026-55798Średnie
W Pillow przed wersją 12.3.0 funkcja WindowsViewer.get_command() tworzyła polecenie cmd.exe przez bezpośrednie wstawienie ścieżki pliku do f-stringa bez odpowiedniego escapowania, a następnie przekazywała je do subprocess.Popen(..., shell=True). Umożliwiało to wstrzyknięcie dowolnych poleceń cmd.exe przez znaki metaznaków w ścieżce pliku.
- CVE-2026-55380Wysokie
W bibliotece Pillow przed wersją 12.3.0 w pliku GdImageFile.py metoda _open() odczytywała wymiary obrazu z nagłówka GD 2.x bez wywołania Image._decompression_bomb_check(), co pozwalało na załadowanie spreparowanego pliku .gd powodującego nadmierną alokację pamięci sterty C.
Oryginalny opis (angielski, źródło NVD)
Pillow is a Python imaging library. From 8.2.0 through 12.2.0, src/libImaging/Jpeg2KDecode.c accumulates total_component_width across every tile in a JPEG2000 image instead of recomputing it per tile, allowing a crafted tiled JPEG2000 file to force substantially higher transient memory usage and trigger out-of-memory failures during decoding. This issue is fixed in version 12.3.0.

