CVE-2026-59203
Pillow is a Python imaging library
- Risk score
- 77/100
- CVSS
- 7.5 v3.1
- Exploit chance (30 days)
- 0.4%
- Published
- 14 Jul 2026
Open in the live forecast Today's forecast
What to know
- What it is
- Pillow's EPS parser in PIL/EpsImagePlugin.py accepts a negative byte count in the %%BeginBinary directive, allowing a crafted EPS file to cause an infinite loop. An attacker could exploit this to achieve arbitrary access.
- Affected
- {'product': 'pillow', 'package': [], 'version': '12.0.0 through 12.2.0'}
- Fix
- Upgrade to version 12.3.0
- Exploitation
- Public proof of concept
Story map
At a glance
Pillow: Red, act today. Pillow has a vulnerability in its Ghostscript call, allowing argument injection, which could lead to remote code execution. An attacker could inject Ghostscript arguments by controlling the filename.
The flaws
- CVE-2026-59203: Pillow is a Python imaging library (CVSS 7.5 · EPSS 0%)
- CVE-2026-112900: Argument Injection in Ghostscript call, potentially leading into RCE (CVSS 9.8 · EPSS 1%)
- CVE-2026-112393: Heap buffer overflow in _tiffWriteProc when saving TIFF to BytesIO (CVSS 9.8 · EPSS 1%)
- CVE-2026-112403: Heap buffer overflow in ImagingJpegDecode (CVSS 9.8 · EPSS 1%)
The fix
Upgrade Pillow: 12.3.0 · 13.0.0 or later on your release line
Who is exposed: {'products': ['Pillow'], 'packages': ['Pillow'], 'versions': ['>= 2.6.0, < 13.0.0']}
Where it stands
- Public proof of concept
- 1 outlet covering it
How it unfolded
- 23 Oct, The Hacker News (press): Critical Flaw in Python’s Popular Pillow Image Library Allows Code Execution via a Crafted Image
- 4 Nov, Ubuntu security notices (official): USN-8999-1: Pillow vulnerabilities
Connects to
- Same weakness: CWE-835 (CWE-835). 73 other warnings in 30 days
- Same product: Earlier Pillow warnings. 45 in the last 90 days
Why it is Amber
- CVSS 7.5 high
- Public exploit or proof of concept referenced
- Remotely exploitable without logging in
- On your watchlist: python
- Named in a government or vendor bulletin
Government and vendor bulletins
References
- https://ubuntu.com/security/notices/USN-8999-1
- https://github.com/python-pillow/Pillow/commit/03992618118b4a76b6163cd72ab5ecd684133b83
- https://github.com/python-pillow/Pillow/pull/9708
- https://github.com/python-pillow/Pillow/releases/tag/12.3.0
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-pg7v-jwj7-p798
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-pg7v-jwj7-p798
Original 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.
Last activity 4 Nov 2026. Patch Forecast updates every hour.