CVE-2026-112901
ŚrednieCVSS 6.9Streszczenie
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.
Ocena ryzyka
Atakujący może zdalnie dostarczyć spreparowany plik XBM i zablokować przetwarzanie obrazów w aplikacji, powodując odmowę usługi. Wpływa to na dostępność systemów przetwarzających obrazy od użytkowników.
Rekomendacja
Zaktualizuj bibliotekę Pillow do wersji 13.0.0 lub nowszej. Rozważ ograniczenie rozmiaru i walidację plików XBM przesyłanych przez użytkowników.
Inne podatności w Pillow
Zobacz wszystkie- 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-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. Prior to 13.0.0, Pillow's XBM header parser is vulnerable to regular-expression denial of service. In XbmImageFile._open, when an application calls Image.open() on a small crafted XBM file, XbmImagePlugin applies a backtracking expression to the attacker-controlled header before image dimensions are accepted, stalling a worker for minutes and denying service. This issue is fixed in version 13.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

