CVE-2026-59197
Pillow is a Python imaging library
- Risk score
- 82/100
- CVSS
- 8.2 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 public rank-filter API can trigger a native heap out-of-bounds write when given a very large odd filter size, allowing an attacker to potentially gain elevated privileges.
- Affected
- {'product': 'pillow', 'affected_versions': 'prior to 12.3.0'}
- Fix
- Upgrade to version 12.3.0 or later
- 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-59197: Pillow is a Python imaging library (CVSS 8.2 · 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: Integer overflow (CWE-190). 184 other warnings in 30 days
- Same product: Earlier Pillow warnings. 45 in the last 90 days
Why it is Red
- CVSS 8.2 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/cce3bdb867c77a3420261ed1bfdb6b0787ec8fc1
- https://github.com/python-pillow/Pillow/pull/9695
- https://github.com/python-pillow/Pillow/releases/tag/12.3.0
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-xj96-63gp-2gmr
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-xj96-63gp-2gmr
Original description
Pillow is a Python imaging library. Prior to 12.3.0, Pillow's public rank-filter API can trigger a native heap out-of-bounds write when given a very large odd filter size because ImageFilter.RankFilter.filter() calls image.expand(size // 2, size // 2) before rank-filter size validation and ImagingExpand() computes output dimensions with unchecked signed int arithmetic. This issue is fixed in version 12.3.0.
Last activity 4 Nov 2026. Patch Forecast updates every hour.