Description
Pillow is a Python imaging library. Prior to 12.3.0, PIL/PcfFontFile.py _load_bitmaps() read glyph dimensions from the PCF METRICS section and passed them directly to Image.frombytes() without calling Image._decompression_bomb_check(), allowing crafted PCF font data to cause excessive memory allocation. 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 is a Python imaging library. Prior to version 12.3.0, the PcfFontFile._load_bitmaps() function read glyph dimensions from the PCF METRICS section and passed them directly to Image.frombytes() without calling Image._decompression_bomb_check(), allowing crafted PCF font data to cause excessive memory allocation, potentially exhausting system memory and causing a denial of service.

Affected Systems

All Pillow releases older than 12.3.0 that perform PCF font loading, such as image processing pipelines, web applications, PDF renderers, or any code that accepts external font inputs, are affected. These applications rely on Pillow for font rendering and may process malicious font files to trigger the vulnerability.

Risk and Exploitability

The CVSS score of 7.5 classifies the issue as high severity. The EPSS score of less than 1% indicates a very low probability of exploitation, and the vulnerability is not included in the CISA KEV catalog. An attacker must supply a crafted PCF font file to an application that uses Pillow for rendering; because no readily available payloads or widespread exploitation are known, the overall risk is moderate despite the high severity metric.

Generated by OpenCVE AI on August 3, 2026 at 05:08 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Pillow to version 12.3.0 or later to apply the fix that adds the missing decompression bomb check.
  • If upgrading is not immediately possible, validate PCF font glyph dimensions or enforce a maximum total pixel count before calling Image.frombytes() to mitigate memory allocation.
  • Run Pillow-based processing within a sandboxed environment or impose a memory limit to prevent a single process from exhausting system resources.

Generated by OpenCVE AI on August 3, 2026 at 05:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-8v84-f9pq-wr9x Pillow `PcfFontFile._load_bitmaps()`: `Image.frombytes()` called without `_decompression_bomb_check()` — bomb protection bypass via PCF font loading
History

Wed, 08 Jul 2026 00:15:00 +0000

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

None

threat_severity

Important


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

Type Values Removed Values Added
Metrics ssvc

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


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/PcfFontFile.py _load_bitmaps() read glyph dimensions from the PCF METRICS section and passed them directly to Image.frombytes() without calling Image._decompression_bomb_check(), allowing crafted PCF font data to cause excessive memory allocation. This issue is fixed in version 12.3.0.
Title Pillow: PcfFontFile._load_bitmaps()`: `Image.frombytes()` called without `_decompression_bomb_check()` — bomb protection bypass via PCF font loading
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
Python-pillow Pillow
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-07T16:57:53.021Z

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

Link: CVE-2026-54059

cve-icon Vulnrichment

Updated: 2026-07-07T16:44:30.369Z

cve-icon NVD

Status : Analyzed

Published: 2026-07-06T19:17:08.127

Modified: 2026-07-07T18:58:26.730

Link: CVE-2026-54059

cve-icon Redhat

Severity : Important

Publid Date: 2026-07-06T18:46:09Z

Links: CVE-2026-54059 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T05:15:18Z

Weaknesses
  • CWE-409

    Improper Handling of Highly Compressed Data (Data Amplification)

  • CWE-789

    Memory Allocation with Excessive Size Value