Affected Systems
Pillow versions 2.6.0 through 12.3.0. Affects Python applications processing EPS images with Ghostscript installed, particularly web upload endpoints that accept user-controlled filenames. Additional critical flaws affect JPEG (FPX format) and TIFF handling across the same version range.
Exploitation Status
No known active exploitation. Public proof-of-concept exists for CVE-2026-112393 (TIFF flaw). CVE-2026-112900 (EPS) and other flaws are not known to be exploited in the wild per CISA.
Business Impact
High impact for web applications, ML pipelines, document processing systems, and any service handling untrusted image uploads. Pillow is downloaded ~436 million times monthly and is ubiquitous in Python image processing. Exploitation requires specific conditions: EPS flaw needs Ghostscript installed and attacker-controlled filenames; FPX JPEG flaw requires optional olefile package; TIFF flaw affects in-memory saves only. Successful exploitation enables remote code execution on affected servers.
Urgency
🟠Within 24 hours
Recommended Actions
- Upgrade Pillow to version 13.0.0 immediately using 'pip install -U "Pillow>=13.0.0"' and verify Python 3.11+ is installed (3.10 no longer supported)
- Rebuild all Docker containers, Python wheels, and base images that bundle Pillow versions prior to 13.0.0
- Until upgrade: remove Ghostscript (gs binary) from servers processing untrusted EPS uploads and sanitize all filenames passed to Image.open()
- Audit web upload endpoints to ensure user-supplied filenames are never directly used when opening images; generate filenames server-side instead
- For JPEG processing, avoid draft() and thumbnail() methods on untrusted files or pass reducing_gap=None; for TIFF, treat in-memory saves (io.BytesIO) as high-risk when source is user-provided
