CVE-2026-59204
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 library has a flaw in JPEG2000 image decoding, allowing a crafted file to cause high memory usage and out-of-memory failures. An attacker could exploit this to cause denial-of-service.
- Affected
- {'product': 'pillow', 'package': [], 'version': '8.2.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-59204: 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-789 (CWE-789). 68 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/13ada41172142f2fd9f0906f615a00ea623a11ca
- https://github.com/python-pillow/Pillow/pull/9704
- https://github.com/python-pillow/Pillow/releases/tag/12.3.0
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-vjc4-5qp5-m44j
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-vjc4-5qp5-m44j
Original description
Pillow is a Python imaging library. From 8.2.0 through 12.2.0, src/libImaging/Jpeg2KDecode.c accumulates total_component_width across every tile in a JPEG2000 image instead of recomputing it per tile, allowing a crafted tiled JPEG2000 file to force substantially higher transient memory usage and trigger out-of-memory failures during decoding. This issue is fixed in version 12.3.0.
Last activity 4 Nov 2026. Patch Forecast updates every hour.