Vulnerability · Published Jul 14, 2026 · Assigned by GitHub_M

CVE-2026-59203Pillow EpsImagePlugin negative %%BeginBinary byte count causes infinite loop denial of service

Medium 5.3

In plain English

A medium-severity infinite loop in Pillow from python-pillow. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 34% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)5.3Medium
Exploit odds (30 days)0.4%top 65.7% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official description

Pillow is a Python imaging library. From 12.0.0 through 12.2.0, Pillow's EPS parser in PIL/EpsImagePlugin.py accepts a negative byte count in the %%BeginBinary directive, allowing a crafted EPS file to cause Image.open() to seek backwards to the same directive and parse it repeatedly in an infinite loop. This issue is fixed in version 12.3.0.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:14pillow12.3.0-1DEBIAN-CVE-2026-59203
PyPIpillow12.3.0PYSEC-2026-3452
PyPIpillow12.3.0GHSA-pg7v-jwj7-p798
Ubuntu:22.04:LTSpillow9.0.1-1ubuntu0.6USN-8999-1
Ubuntu:24.04:LTSpillow10.2.0-1ubuntu1.4USN-8999-1
Ubuntu:26.04:LTSpillow12.1.1-2ubuntu1.4USN-8999-1
Ubuntu:26.04:LTSpillow12.1.1-2ubuntu1.4UBUNTU-CVE-2026-59203

Affected products (as reported)

VendorProductVersions
python-pillow Pillow >= 12.0.0, < 12.3.0

Weakness: CWE-835 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

References