CVE-2026-112398
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 53 - wyżej niż 53% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Dostarczenie spreparowanego pliku OLE2 FlashPix do aplikacji z zainstalowaną opcjonalną zależnością olefile może uszkodzić pamięć sterty i potencjalnie umożliwić wykonanie dowolnego kodu.
Rekomendacja
Zaktualizuj Pillow do wersji 13.0.0 lub nowszej.
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-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-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-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-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.
- CVE-2026-114501Średnie
Biblioteka Pillow w wersjach od 11.2.1 do 13.0.0 błędnie zakłada, że wiersze obrazu są ściśle przyległe podczas eksportu do formatu Arrow. Gdy PILLOW_ALIGNMENT powoduje dodanie paddingu wierszy lub przesunięcia przed pierwszym wierszem, bufor Arrow może zawierać niezainicjalizowany padding, bajty sprzed pierwszego wiersza lub pozostałości po zwolnionych obrazach. Może to prowadzić do ujawnienia pikseli innego użytkownika lub pamięci procesu.
Oryginalny opis (angielski, źródło NVD)
Pillow is a Python imaging library. Prior to 13.0.0, Pillow's FlashPix JPEG-tile decoder can write decoded scanlines beyond the allocated tile buffer. FlashPix (FPX) JPEG decoding selects raw mode LA with two bytes per pixel, while an unrecognized JPEG mode can be decoded as JCS_UNKNOWN with four components, causing ImagingJpegDecode to write four-component scanlines into the two-byte tile buffer. An attacker can supply a crafted OLE2 FlashPix file to an application with the optional olefile dependency installed that opens or thumbnails untrusted input. This can corrupt heap memory and may allow arbitrary code execution. This issue is fixed in version 13.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

