CVE-2026-112897
WysokieCVSS 8.7Streszczenie
W Pillow od wersji 5.3.0 do 13.0.0 biblioteka może zwracać niezainicjalizowaną pamięć jako piksele, gdy libtiff wykonuje niepełny dekodowanie danych TIFF skompresowanych JPEG lub Group 4 fax. Bufory _decodeStrip i _decodeTile mogą być większe niż dane zapisane przez libtiff, a Pillow nie zeruje nieużywanej końcówki. Atakujący może dostarczyć spreparowany plik TIFF aplikacji, która ładuje i zwraca lub ponownie koduje jego piksele.
Ocena ryzyka
Może dojść do ujawnienia pozostałości sterty (stale heap contents) w danych wyjściowych bez korupcji pamięci czy awarii procesu. Stanowi to ryzyko wycieku informacji z pamięci procesu.
Rekomendacja
Zaktualizuj Pillow do wersji 13.0.0 lub nowszej. Do czasu aktualizacji unikaj przetwarzania niezaufanych plików TIFF w aplikacjach zwracających lub ponownie kodujących piksele.
Inne podatności w Pillow
Zobacz wszystkie- CVE-2026-112901Średnie
Pillow przed wersją 13.0.0 zawiera podatność na atak typu regular-expression denial of service w parserze nagłówka XBM. Wywołanie Image.open() na małym, spreparowanym pliku XBM powoduje zastosowanie wyrażenia z nawrotami do nagłówka kontrolowanego przez atakującego, co blokuje wątek na wiele minut.
- CVE-2026-112898Średnie
Pillow od wersji 9.1.0 do 13.0.0 może ujawnić niezainicjowaną pamięć stosu, gdy Image.quantize() używa pustej palety. Funkcja ImagingPaletteCacheUpdate() pozostawia lokalną tablicę pamięci podręcznej niezainicjowaną przy zerowej liczbie wpisów palety, a ścieżka konwersji emituje te bajty jako indeksy pikseli w zwracanym PNG lub GIF.
- CVE-2026-112896Wysokie
W Pillow przed wersją 13.0.0 koder TIFF może odczytywać dane poza buforem ColorMap, gdy zachowane metadane TIFF mają rozmiar płaszczyzny niezgodny z BitsPerSample. Mały plik TIFF można otworzyć normalnie, a następnie zachowuje on spreparowany ColorMap używany ponownie przy zapisie obrazu. Aplikacja, która ponownie koduje taki TIFF z libtiff, może wywołać odczyt poza granicami bufora.
- CVE-2026-112895Wysokie
W Pillow od wersji 5.1.0 do 13.0.0 biblioteka może wyczerpać zasoby podczas parsowania istniejącego PDF przy operacji dopisywania. PdfParser podąża za referencjami drzewa stron bez wykrywania cykli i duplikacji oraz za łańcuchami poprzednich trailerów z jedynie dokładnym zabezpieczeniem powtórzonego offsetu, co może wyczerpać stos Pythona. Atakujący może dostarczyć taki PDF aplikacji wywołującej Image.save z włączonym dopisywaniem PDF.
- CVE-2026-112894Wysokie
W Pillow od wersji 5.1.0 do 13.0.0 rezerwacja identyfikatorów obiektów PDF przy zapisie wielu klatek z save_all zajmuje czas kwadratowy. PdfParser.next_object_id() wielokrotnie przebudowuje i skanuje wszystkie wcześniej zarezerwowane identyfikatory dla każdego obiektu. Atakujący może dostarczyć wieloklatkowy obraz, w tym mały APNG z dużą zadeklarowaną liczbą klatek, aplikacji konwertującej go do wielostronicowego PDF.
- CVE-2026-112893Wysokie
W Pillow od wersji 10.0.0 do 13.0.0 biblioteka może zwolnić nieprawidłowy wskaźnik glifu podczas renderowania FreeType z aktywnym strokerem. Jeśli FT_Load_Glyph zawiedzie, sprzątanie może wywołać FT_Done_Glyph na niezainicjalizowanej lub nieaktualnej zmiennej glifu. Atakujący może dostarczyć zniekształconą czcionkę jako niezaufane bajty aplikacji rysującej tekst z niezerową szerokością obrysu.
- CVE-2026-112892Wysokie
W Pillow od wersji 4.1.0 do 13.0.0 dekoder MSP RLE może rozwinąć mały plik do nieograniczonego bufora w pamięci. Dekoder zapisuje dane wyjściowe RLE do BytesIO bez ograniczania ekspansji do zadeklarowanego rozmiaru obrazu. Atakujący może dostarczyć spreparowany obraz MSP aplikacji ładującej jego piksele.
- CVE-2026-112891Średnie
Pillow od wersji 9.2.0 do 13.0.0 wykonuje kwadratowe kopiowanie podczas zapisywania GIF z długim komentarzem. Funkcja _get_global_header() wielokrotnie kopiuje fragmenty danych komentarza, w tym komentarze z niezaufanego obrazu wejściowego, co może prowadzić do nadmiernego zużycia CPU.
- CVE-2026-112406Wysokie
W Pillow od wersji 5.1.0 do 13.0.0 biblioteka może wejść w nieskończoną pętlę podczas przepisywania stron PDF. PdfParser.rewrite_pages() podąża za relacjami Parent bez wykrywania cyklu w drzewie stron. Atakujący może dostarczyć cykliczny PDF aplikacji dopisującej do niego obraz.
- CVE-2026-112405Wysokie
W Pillow od wersji 12.0.0 do 13.0.0 funkcja Image.merge() może odwoływać się do pustej płaszczyzny image8. Walidacja pomija pierwszy pas wejściowy, pozwalając na scalenie obrazu 32-bitowego całkowitego lub zmiennoprzecinkowego opartego na magazynie image32 jako węższego obrazu wielopasmowego. Spreparowany plik IPTC może osiągnąć tę ścieżkę, gdy aplikacja go otwiera i ładuje, lub wywołujący może bezpośrednio wywołać Image.merge() z takim pierwszym pasem.
Oryginalny opis (angielski, źródło NVD)
Pillow is a Python imaging library. From 5.3.0 until 13.0.0, Pillow can return uninitialized memory as pixels when libtiff performs a short decode of JPEG-compressed or Group 4 fax TIFF data. The _decodeStrip and _decodeTile buffers can be larger than the bytes written by libtiff, but Pillow converts the expected rows without clearing the unwritten tail. The tile path is affected from 5.3.0 and the strip path from 6.0.0. An attacker can supply a crafted TIFF to an application that loads and returns or re-encodes its pixels. This can disclose stale heap contents without memory corruption or a process crash. This issue is fixed in version 13.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

