Impact
Pillow is a Python imaging library that, before version 12.3.0, had a flaw in GdImageFile._open. The routine read image dimensions from the GD 2.x header and stored them in the instance attribute _size without invoking Image._decompression_bomb_check(). A crafted .gd file that declares an inflated size can therefore trigger excessive C‑heap allocation when the file is opened. This can exhaust system memory or crash the Pillow‑enabled process, resulting in a denial‑of‑service condition. The weakness corresponds to logic or state management (CWE‑1285) and out‑of‑bounds memory allocation (CWE‑789).
Affected Systems
The Pillow library (Python Imaging Library) is used by Python applications that process image files. All installations of Pillow earlier than version 12.3.0 that use the GdImageFile class to open GD (Graphics Draw) image files are vulnerable. The issue is platform‑agnostic because Pillow runs on any system that supports Python.
Risk and Exploitability
The CVSS score of 7.5 indicates a high severity vulnerability, yet the EPSS score of less than 1% shows a low yet non‑zero exploitation probability. It is not listed in the CISA KEV catalog. An attacker can deliver a malicious .gd image to a Pillow‑enabled application either over the network if the application accepts user uploads or locally if the user can supply file paths. The resulting excessive memory allocation may cause the process to crash or the system to become unresponsive; the impact is denial of service only, with no privilege escalation or data exfiltration.
OpenCVE Enrichment
Github GHSA