Katalog CVE

CVE-2026-96643

WysokieCVSS 7.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.33%

Percentyl 25 - wyżej niż 25% wszystkich znanych CVE

Streszczenie

W bibliotece Pillow od wersji 11.0.0 do 13.0.0 funkcja Exif.load() w src/PIL/Image.py wielokrotnie wycina pozostałe dane EXIF, dopóki zaczynają się one od sześciobajtowego nagłówka Exif. Ponieważ src/PIL/PngImagePlugin.py akceptuje nieograniczony chunk eXIf w PNG, plik wypełniony powtarzającymi się nagłówkami powoduje tworzenie nowej zmniejszającej się kopii w każdej iteracji i kwadratowe zużycie CPU. Problem jest osiągalny przez Image.getexif(), Image._getexif() i ImageOps.exif_transpose(), w tym w typowych procesach obracania zdjęć przy uploadzie. Podatność naprawiono w wersji 13.0.0.

Ocena ryzyka

Atakujący może dostarczyć spreparowany plik obrazu, który po przetworzeniu przez aplikację wyczerpie zasoby CPU, powodując spowolnienie lub niedostępność usługi.

Rekomendacja

Zaktualizuj Pillow do wersji 13.0.0 lub nowszej oraz ogranicz rozmiar i waliduj przesyłane pliki obrazów.

Inne podatności w Pillow

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Pillow is a Python imaging library. From 11.0.0 until 13.0.0, Exif.load() in src/PIL/Image.py repeatedly slices the remaining EXIF data while it begins with the six-byte Exif header. src/PIL/PngImagePlugin.py accepts an uncapped PNG eXIf chunk, so a file filled with repeated headers causes a new shrinking copy on every iteration and quadratic CPU work. The condition is reachable through Image.getexif(), Image._getexif(), and ImageOps.exif_transpose(), including common photo-upload rotation workflows. This issue is fixed in version 13.0.0.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS