Impact
The vulnerability is in Pillow’s PcfFontFile._load_bitmaps() routine, which reads glyph dimensions from a PCF font’s METRICS section and supplies them directly to Image.frombytes() without invoking the internal decompress‑F font to force Pillow to allocate an unusually large amount of memory, potentially exhausting system resources, causing the process to hang or crash, and resulting in denial of service. The weakness aligns with CWE‑789 (Uncontrolled Memory Allocation) and CWE‑409 (Security Feature Failure).
Affected Systems
All Pillow releases older than 12.3.0 font files, such as image processing pipelines, web applications, PDF renderers, or any code that accepts external font inputs.
Risk and Exploitability
With a CVSS score of 7.5, the issue is categorized as high severity. The EPSS score of <1% indicates a very low probability of exploitation, and the vulnerability is not listed in the CISA KEV catalog, suggesting attack vector is an application that accepts a PCF font file from an external source; the attacker must supply the crafted file to trigger the excessive memory allocation. Because the flaw requires direct control over the input font file and no publicly available payloads are known, the risk remains moderate despite the high severity metric.
OpenCVE Enrichment
Github GHSA