CVE-2026-40192
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 49 - wyżej niż 49% wszystkich znanych CVE
Streszczenie
Biblioteka Pillow w wersjach 10.3.0 do 12.1.1 nie ogranicza ilości danych skompresowanych GZIP podczas dekodowania obrazów FITS, co umożliwia atak bombą dekompresyjną. Specjalnie spreparowany plik FITS może spowodować niekontrolowane zużycie pamięci, prowadząc do odmowy usługi (awaria OOM lub poważna degradacja wydajności).
Ocena ryzyka
Organizacja narażona jest na ataki DoS poprzez przesłanie złośliwego pliku FITS, co może doprowadzić do wyczerpania pamięci serwera i przerwania działania aplikacji przetwarzających obrazy.
Rekomendacja
Należy natychmiast zaktualizować Pillow do wersji 12.2.0 lub nowszej. Jeśli aktualizacja nie jest możliwa, jako tymczasowe obejście należy otwierać tylko określone formaty obrazów, wykluczając FITS.
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-59204Wysokie
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).
- 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.
Oryginalny opis (angielski, źródło NVD)
Pillow is a Python imaging library. Versions 10.3.0 through 12.1.1 did not limit the amount of GZIP-compressed data read when decoding a FITS image, making them vulnerable to decompression bomb attacks. A specially crafted FITS file could cause unbounded memory consumption, leading to denial of service (OOM crash or severe performance degradation). If users are unable to immediately upgrade, they should only open specific image formats, excluding FITS, as a workaround.

