medium5.3
CVE-2026-59203
Pillow EpsImagePlugin negative %%BeginBinary byte count causes infinite loop denial of service
Impact
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
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | pillow | >= 12.0.0, < 12.3.0 | 12.3.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Python | Pillow | from 12.0.0 before 12.3.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-pg7v-jwj7-p798
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-pg7v-jwj7-p798
- https://nvd.nist.gov/vuln/detail/CVE-2026-59203
- https://github.com/python-pillow/Pillow/pull/9708
- https://github.com/python-pillow/Pillow/commit/03992618118b4a76b6163cd72ab5ecd684133b83
- https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2026-3452.yaml
- https://github.com/python-pillow/Pillow/releases/tag/12.3.0