Impact
Pillow before version 12.3.0 processes BDF font files through the BdfFontFile module. During font parsing, Pillow reads the width and height fields from the font and hands those values to Image.new() without invoking the internal decompression‑bomb check. An adversary can therefore supply a font file containing astronomically large width or height values, causing Pillow to allocate an enormous amount of memory. The resulting memory exhaustion or process crash is a denial‑of‑service vulnerability. The weakness matches CWE‑770 and CWE‑789.
Affected Systems
The flaw applies to the Pillow imaging library shipped under the project name Pillow. All installations of Pillow earlier than version 12.3.0 are affected. Systems that load fonts from BDF files—such as web applications rendering PDF/HTML, desktop image editors, or backend services that import user fonts—are at risk when they rely on Pillow for font handling. The resistance thresholds fixed in 12.3.0 are not present in earlier releases.
Risk and Exploitability
The CVSS score of 7.5 implies a high severity level. The EPSS score is below 1%, indicating that, on average, current exploitation attempts are rare, and the vulnerability is not listed in CISA's KEV catalog. An attack requires the adversary to supply a malformed BDF file that Pillow will process; the likely attack vector is the delivery of such a file to an application that uses Pillow. It is inferred that no additional privileges or network access beyond the ability to provide the font file are necessary to trigger the flaw, although the exact privilege needs depend on how the font is introduced into the system. Once triggered, the attacker can force the application to allocate large amounts of memory, leading to exhaustion or a crash that results in a denial of service.
OpenCVE Enrichment
Github GHSA