Description
Pillow is a Python imaging library. Prior to 12.3.0, PIL/FontFile.py FontFile.compile() assembled per-glyph images into a combined bitmap with Image.new("1", (xsize, ysize)) without calling Image._decompression_bomb_check(), allowing a font to trigger excessive allocation during conversion or saving. This issue is fixed in version 12.3.0.
Published: 2026-07-06
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Pillow, a commonly used Python imaging library, builds a combined bitmap of glyph images in its FontFile.compile() routine by calling Image.new("1", (xsize, ysize)). In versions before 12.3.0, this call omitted a safety check that would normally thwart decompression bombs, meaning a maliciously crafted font could trigger massive memory allocation. The flaw is classified as CWE‑1050 and CWE‑789, leading to the process consuming excessive resources and potentially crashing. The effect is a denial of service that becomes apparent whenever an application processes a compromised font file.

Affected Systems

Any deployment that uses Pillow versions older than 12.3.0 is at risk. This includes Python web applications, desktop utilities, data pipelines, and any service that accepts arbitrary font uploads or renders fonts from external sources. All platforms running a vulnerable Pillow installation are potentially impacted, regardless of operating system.

Risk and Exploitability

The CVSS score of 7.5 indicates moderate to high severity. The EPSS score of < 1% suggests a very low yet non‑zero probability of exploitation at the time of analysis. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires that a malicious or tampered font file be processed by the application, so the likely attack vectors are local, where a user supplies a harmful font, or remote, where a web or service-side component loads untrusted font data. Successful exploitation leads to a denial of service of the Pillow process and, by extension, any higher‑level functionality built atop it.

Generated by OpenCVE AI on July 26, 2026 at 20:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Pillow to version 12.3.0 or later
  • Reject or validate font files before processing; reject fonts from untrusted sources
  • Enforce limits on memory allocation or sandbox font processing to contain potential resource exhaustion

Generated by OpenCVE AI on July 26, 2026 at 20:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-5x94-69rx-g8h2 Pillow: `FontFile.compile()`: `Image.new()` called without `_decompression_bomb_check()`
History

Tue, 07 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 07 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-1050
References
Metrics threat_severity

None

threat_severity

Important


Mon, 06 Jul 2026 20:45:00 +0000

Type Values Removed Values Added
First Time appeared Python-pillow
Python-pillow pillow
Vendors & Products Python-pillow
Python-pillow pillow

Mon, 06 Jul 2026 19:15:00 +0000

Type Values Removed Values Added
Description Pillow is a Python imaging library. Prior to 12.3.0, PIL/FontFile.py FontFile.compile() assembled per-glyph images into a combined bitmap with Image.new("1", (xsize, ysize)) without calling Image._decompression_bomb_check(), allowing a font to trigger excessive allocation during conversion or saving. This issue is fixed in version 12.3.0.
Title Pillow: `FontFile.compile()`: `Image.new()` called without `_decompression_bomb_check()`
Weaknesses CWE-789
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

Python-pillow Pillow
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-07T14:08:14.588Z

Reserved: 2026-06-11T18:24:35.096Z

Link: CVE-2026-54060

cve-icon Vulnrichment

Updated: 2026-07-07T14:08:07.536Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Important

Publid Date: 2026-07-06T18:49:23Z

Links: CVE-2026-54060 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-26T20:30:03Z

Weaknesses
  • CWE-1050

    Excessive Platform Resource Consumption within a Loop

  • CWE-789

    Memory Allocation with Excessive Size Value