CVE-2026-112395
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 44 - wyżej niż 44% wszystkich znanych CVE
Streszczenie
Pillow od wersji 8.2.0 do 13.0.0 może odczytywać dane poza buforem kafelka podczas kopiowania czterobajtowych pikseli w dekoderze kafelkowego TIFF. W funkcji _decodeTile libtiff może zwrócić alokację kafelka mniejszą niż wymagany krok wiersza pomnożony przez długość kafelka, a pętla kopiująca Pillow wykracza poza tę alokację.
Ocena ryzyka
Atakujący może dostarczyć spreparowany kafelkowy TIFF do aplikacji ładującej go, co może ujawnić sąsiednie dane sterty w pikselach lub spowodować awarię procesu. Wpływa to na poufność i dostępność.
Rekomendacja
Zaktualizuj Pillow do wersji 13.0.0 lub nowszej. Unikaj ładowania niezaufanych plików TIFF w kontekstach wrażliwych na bezpieczeństwo.
Inne podatności w Pillow
Zobacz wszystkie- 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.
- 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-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.2.0 until 13.0.0, Pillow's tiled-TIFF decoder can read past the tile buffer while copying four-byte pixels. In _decodeTile, libtiff can return a tile allocation smaller than the required row stride multiplied by the tile length, and Pillow's stride-and-copy loop walks beyond that allocation. An attacker can supply a crafted tiled TIFF to an application that loads it. This can expose adjacent heap data in pixels or crash the process. This issue is fixed in version 13.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

