CVE-2026-112406
WysokieCVSS 8.7Streszczenie
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.
Ocena ryzyka
Może dojść do pełnego obciążenia CPU procesu roboczego i odmowy usługi. Stanowi to ryzyko zakłócenia dostępności aplikacji.
Rekomendacja
Zaktualizuj Pillow do wersji 13.0.0 lub nowszej. Do czasu aktualizacji unikaj dopisywania obrazów do niezaufanych plików PDF.
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-112897Wysokie
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.
- 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-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.1.0 until 13.0.0, Pillow can enter an infinite loop while rewriting PDF pages. PdfParser.rewrite_pages() follows Parent relationships without detecting a cycle in the page tree. An attacker can supply a cyclic PDF to an application that appends an image to that PDF. This can hold the worker at full CPU and deny service. This issue is fixed in version 13.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

