CVE-2026-54058
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 44 - wyżej niż 44% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na potencjalnym wycieku poufnych danych z pamięci procesu lub awarii aplikacji, co może narazić organizację na utratę danych lub przerwanie działania usług.
Rekomendacja
Zaleca się natychmiastową aktualizację biblioteki Pillow do wersji 12.3.0 lub nowszej, która zawiera poprawkę eliminującą tę podatność.
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-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 12.3.0, when Pillow loads an uncompressed McIdas AREA image from a filename through the mmap raw codec path, attacker-controlled header words can set a row stride smaller than the natural row width, causing pixel access such as Image.tobytes(), getpixel, convert, or save to read beyond the mapped region and disclose adjacent process memory or fault. This issue is fixed in version 12.3.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

