Impact
Pillow’s BdfFontFile module reads the width and height fields from a BDF font file and passes them to Image.new() without calling the internal decompression‑bomb check. An adversary can craft a font file with absurdly large dimensions, causing Pillow to allocate vast amounts of memory and potentially exhaust system resources or crash the process. This flaw qualifies as a memory‑allocation vulnerability (CWE-770, CWE-789).
Affected Systems
The vulnerability affects the Pillow imaging library distributed by python‑pillow under the name Pillow. Any installation of Pillow older than version 12.3.0 is vulnerable; the issue is fixed in 12.3.0. Systems that load untrusted BDF fonts for rendering, such as web applications, desktop image editors, or background services that import user‑supplied fonts, are at risk.
Risk and Exploitability
The CVSS score of 7.5 indicates high severity. An EPSS <1% score and absence from CISA KEV suggest exploitation is currently rare, but the attack only requires delivery of a crafted BDF file to an application that uses Pillow. Once triggered, the attacker can cause denial of service by exhausting memory resources. No additional privileges or network access beyond the ability to supply font data are needed, making the vulnerability exploitable in many realistic scenarios.
OpenCVE Enrichment
Github GHSA