CVE-2026-112893
WysokieCVSS 8.2Streszczenie
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.
Ocena ryzyka
Może dojść do korupcji pamięci lub awarii procesu. Stanowi to ryzyko zakłócenia dostępności, a potencjalnie także dalszej eksploatacji.
Rekomendacja
Zaktualizuj Pillow do wersji 13.0.0 lub nowszej. Do czasu aktualizacji unikaj renderowania tekstu z niezaufanych czcionek z niezerową szerokością obrysu.
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-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 10.0.0 until 13.0.0, Pillow can free an invalid glyph pointer during FreeType rendering with an active stroker. If FT_Load_Glyph fails, cleanup may call FT_Done_Glyph on an uninitialized or stale glyph variable. An attacker can supply a malformed font as untrusted bytes to an application that draws text with a nonzero stroke width, forcing the glyph-load failure path. This can corrupt memory or crash the process. This issue is fixed in version 13.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

