CVE-2026-112404
WysokieCVSS 8.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 39 - wyżej niż 39% wszystkich znanych CVE
Streszczenie
W Pillow od wersji 8.1.0 do 13.0.0 ścieżki dekodowania kafelków TIFF i RGBA mogą odczytywać dane poza wierszem wyprodukowanym przez libtiff. W _decodeTile i ścieżce rozpakowywania RGBA, gdy Pillow i libtiff interpretują zduplikowane tagi PhotometricInterpretation lub BitsPerSample odmiennie, Pillow nie weryfikuje, czy wymagany wiersz wejściowy mieści się w wierszu wyprodukowanym przez libtiff (ścieżka pasków ma tę walidację). Ładowanie pikseli z takiego spreparowanego TIFF może ujawnić sąsiednie dane sterty w pikselach wyjściowych lub spowodować awarię procesu.
Ocena ryzyka
Może dojść do ujawnienia sąsiednich danych sterty w danych wyjściowych lub awarii procesu. Stanowi to ryzyko wycieku informacji oraz zakłócenia dostępności.
Rekomendacja
Zaktualizuj Pillow do wersji 13.0.0 lub nowszej. Do czasu aktualizacji unikaj ładowania niezaufanych plików TIFF.
Inne podatności w Pillow
Zobacz wszystkie- GHSA-78g4-xqwv-q3g8Wysokie
Koła (wheels) Pillow od wersji 11.1.0 zawierają dołączoną bibliotekę libopenjp2 z błędem przepełnienia bufora sterty (zapis), który został naprawiony w gałęzi master OpenJPEG, ale nigdy nie ukazał się w wydaniu OpenJPEG. Ponieważ koło dołącza własną kopię, załatany host nie chroni przed problemem.
- CVE-2026-112899Średnie
Pillow (PIL) w EpsImagePlugin.py w funkcji Ghostscript() pozwala Ghostscript renderować poza limitem bomby dekompresyjnej podczas ładowania EPS ze skalowaniem. Może to prowadzić do nadmiernego zużycia zasobów.
- CVE-2026-112902Wysokie
W koderze libtiff w Pillow (funkcja PyImaging_LibTiffEncoderNew w src/encode.c) spreparowane znaczniki TIFF mogą powodować ujawnienie zawartości pamięci oraz błąd segmentacji. Problem występuje podczas tworzenia kodera LibTiff.
- CVE-2026-96639Krytyczne
Biblioteka Pillow w wersjach od 11.0.0 do 13.0.0 ma błąd w obsłudze wieloklatkowych obrazów (PSD, MPO, DCX, MIC). Przy zmianie trybu klatki na szerszy (RGB/CMYK) ponownie używany jest stary bufor o węższym trybie, co prowadzi do zapisu poza granicami pamięci i awarii, a w niektórych przypadkach do wykonania kodu.
- CVE-2026-112900Krytyczne
Pillow (biblioteka obrazów Pythona) w wersjach od 2.6.0 do 13.0.0 jest podatna na wstrzyknięcie argumentów podczas wywoływania Ghostscript dla plików EPS. EpsImagePlugin.Ghostscript przekazuje nazwę pliku kontrolowaną przez wywołującego po -f bez konwersji na bezpieczną ścieżkę absolutną, więc nazwa zaczynająca się od myślnika może być interpretowana jako opcja Ghostscript.
- CVE-2026-112403Krytyczne
Pillow przed wersją 13.0.0 ma lukę w dekoderze JPEG, który może zapisać pełną linię skanowania do bufora o rozmiarze dostosowanym do żądanego skalowania. ImagingJpegDecode nie weryfikuje rzeczywistej szerokości wyjściowej libjpeg po skalowaniu, a 8-bitowy bezstratny JPEG SOF3 dekodowany przez libjpeg-turbo 3.x może zignorować żądaną geometrię zmniejszania.
- CVE-2026-112398Krytyczne
Pillow przed wersją 13.0.0 ma lukę w dekoderze kafelków JPEG FlashPix, który może zapisywać zdekodowane linie skanowania poza przydzielonym buforem kafelka. Dekodowanie FlashPix (FPX) JPEG wybiera tryb raw LA z dwoma bajtami na piksel, podczas gdy nierozpoznany tryb JPEG może być zdekodowany jako JCS_UNKNOWN z czterema komponentami, powodując zapis czterokomponentowych linii do dwubajtowego bufora kafelka.
- CVE-2026-112393Krytyczne
Biblioteka Pillow zawiera przepełnienie bufora na stercie oraz ujawnienie danych ze sterty w funkcji _tiffWriteProc podczas zapisu skompresowanych plików TIFF przez libtiff do celu bez użytecznego fileno(), np. BytesIO. Callback rozmiaruje alokację na podstawie poprzedniego rozmiaru bufora zamiast bieżącej pozycji zapisu, co pozwala na kopiowanie danych poza alokację. Podatność naprawiono w wersji 13.0.0.
- 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.
Oryginalny opis (angielski, źródło NVD)
Pillow is a Python imaging library. From 8.1.0 until 13.0.0, Pillow's TIFF tile and RGBA decode paths can read beyond row data produced by libtiff. In _decodeTile and the RGBA unpacker path, when Pillow and libtiff interpret duplicated PhotometricInterpretation or BitsPerSample tags differently, Pillow does not verify that the required input row fits inside the row libtiff produced, while the strip path has this validation. Loading pixels from such a crafted TIFF can expose adjacent heap data in output pixels or crash the process. This issue is fixed in version 13.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

