CVE-2026-42309
ŚrednieCVSS 5.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 - wyżej niż 3% wszystkich znanych CVE
Streszczenie
Pillow (biblioteka obrazowania dla Pythona) w wersjach od 11.2.1 do przed 12.2.0 zawiera podatność na przepełnienie sterty (heap buffer overflow) podczas przekazywania zagnieżdżonych list jako współrzędnych do API takich jak ImagePath.Path, ImageDraw.ImageDraw.polygon i ImageDraw.ImageDraw.line. Zagnieżdżone listy były rekurencyjnie rozpakowywane poza przydzielony bufor. Listy współrzędnych są teraz walidowane, aby zawierały dokładnie dwie współrzędne numeryczne.
Ocena ryzyka
Atakujący może spowodować awarię aplikacji lub potencjalnie wykonać dowolny kod poprzez dostarczenie specjalnie spreparowanych danych wejściowych do funkcji rysujących.
Rekomendacja
Zaktualizuj Pillow do wersji 12.2.0 lub nowszej, która zawiera poprawkę dla tej luki.
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. From version 11.2.1 to before version 12.2.0, passing nested lists as coordinates to APIs that accept coordinates such as ImagePath.Path, ImageDraw.ImageDraw.polygon and ImageDraw.ImageDraw.line could cause a heap buffer overflow, as nested lists were recursively unpacked beyond the allocated buffer. Coordinate lists are now validated to contain exactly two numeric coordinates. This issue has been patched in version 12.2.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

