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.
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
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:14 | pillow | 12.3.0-1 | DEBIAN-CVE-2026-59203 |
| PyPI | pillow | 12.3.0 | PYSEC-2026-3452 |
| PyPI | pillow | 12.3.0 | GHSA-pg7v-jwj7-p798 |
| Ubuntu:22.04:LTS | pillow | 9.0.1-1ubuntu0.6 | USN-8999-1 |
| Ubuntu:24.04:LTS | pillow | 10.2.0-1ubuntu1.4 | USN-8999-1 |
| Ubuntu:26.04:LTS | pillow | 12.1.1-2ubuntu1.4 | USN-8999-1 |
| Ubuntu:26.04:LTS | pillow | 12.1.1-2ubuntu1.4 | UBUNTU-CVE-2026-59203 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| 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
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-pg7v-jwj7-p798 x_refsource_CONFIRM
- https://github.com/python-pillow/Pillow/pull/9708 x_refsource_MISC
- https://github.com/python-pillow/Pillow/commit/03992618118b4a76b6163cd72ab5ecd684133b83 x_refsource_MISC
- https://github.com/python-pillow/Pillow/releases/tag/12.3.0 x_refsource_MISC