Impact
The Pillow library enabled processing of MPO and DCX image formats. Prior to version 13.0.0, the seek methods re‑parsed subsequent frames and replaced the internal size value without re‑executing the library’s decompression‑bomb check. An attacker can craft a multi‑frame image with a small first frame that passes the initial open, then include a later frame whose declared size exceeds the safe‑limit. Iterating over that frame can consume hundreds of megabytes of memory, leading to a denial of service. This weakness is classified as an uncontrolled resource consumption vulnerability (CWE‑400) and improper frame size handling (CWE‑409).
Affected Systems
Users employing the python-pillow Pillow library with any release older than 13.0.0 are potentially exposed. The deficiency exists in the MpoImageFile.seek and DcxImageFile.seek methods used to read MPO (multi-picture object) and DCX (digital camera eXtended) files. The fix is delivered in Pillow version 13.0.0 and later.
Risk and Exploitability
The CVSS score of 6.5 indicates moderate severity, and the vulnerability is not listed in the CISA KEV catalog. Because the EPSS score is unavailable, the likelihood of exploitation remains unknown. The vulnerability permits an attacker to supply a maliciously crafted MPO or DCX image that contains a small initial frame followed by a frame whose declared size exceeds the decompression‑bomb check. When Pillow processes the larger frame via seek(), load(), or ImageSequence.Iterator, it may allocate hundreds of megabytes, leading to a memory‑exhaustion denial of service. The impact is loss of availability for any application using Pillow to handle untrusted images.
OpenCVE Enrichment
Github GHSA