Katalog CVE

CVE-2026-96636

ŚrednieCVSS 6.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.35%

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

Streszczenie

Pillow, biblioteka obrazowania w Pythonie, w wersjach przed 13.0.0 pozwala metodom MpoImageFile.seek() i DcxImageFile.seek() na ponowne parsowanie późniejszych klatek MPO lub DCX i zastąpienie self._size bez ponownego uruchomienia Image._decompression_bomb_check(). Spreparowany obraz wieloklatkowy może użyć malej pierwszej klatki, aby przejść Image.open(), a następnie zadeklarować późniejszą klatkę przekraczającą limit, co podczas normalnej iteracji klatek przez seek(), load() lub ImageSequence.Iterator może zdekodować tę klatkę i zużyć setki megabajtów lub więcej, powodując odmowę usługi przez wyczerpanie pamięci.

Ocena ryzyka

Atakujący może dostarczyć spreparowany obraz wieloklatkowy, który omija kontrolę bomb dekompresyjnych i powoduje wyczerpanie pamięci podczas iteracji klatek. Może to prowadzić do awarii aplikacji lub niedostępności usługi.

Rekomendacja

Zaktualizuj Pillow do wersji 13.0.0 lub nowszej. Unikaj iterowania klatek niezaufanych obrazów MPO/DCX bez dodatkowych ograniczeń pamięci.

Inne podatności w Pillow

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

Pillow is a Python imaging library. Prior to 13.0.0, MpoImageFile.seek() and DcxImageFile.seek() reparse later MPO or DCX frames and replace self._size without rerunning Image._decompression_bomb_check(). A crafted multi-frame image can use a tiny first frame to pass Image.open() and then declare an over-limit later frame. Normal frame iteration through seek(), load(), or ImageSequence.Iterator can decode that frame and commit hundreds of megabytes or more, causing memory-exhaustion denial of service. This issue is fixed in version 13.0.0.

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