CVE Catalog

CVE-2026-96636

MediumCVSS 6.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.35%

28th percentile - higher than 28% of all known CVEs

Summary

Pillow, a Python imaging library, prior to 13.0.0 allows MpoImageFile.seek() and DcxImageFile.seek() to 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, which during 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.

Risk Assessment

An attacker can supply a crafted multi-frame image that bypasses decompression-bomb checks and causes memory exhaustion during frame iteration. This can lead to application crashes or service unavailability.

Recommendation

Update Pillow to version 13.0.0 or later. Avoid iterating frames of untrusted MPO/DCX images without additional memory limits.

Other vulnerabilities in Pillow

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS