Argument injection in Pillow Ghostscript call can run commands
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 3 fixed, 5 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-78.
Summary
Pillow from 2.6.0 before 13.0.0 is affected. EpsImagePlugin.Ghostscript passes a caller-controlled filename after -f without converting it to an absolute path, so a name starting with a hyphen is read as a Ghostscript option (CWE-88). An unauthenticated remote attacker who controls the filename can inject Ghostscript arguments, and arbitrary command execution additionally requires an @ argument file whose referenced text the attacker controls.
Written with Claude Haiku 5.5 from the sources below · 2026-11-07
Description from the CNA
Pillow is a Python imaging library. From 2.6.0 until 13.0.0, Pillow is vulnerable to argument injection when invoking Ghostscript for EPS input. EpsImagePlugin.Ghostscript passes a caller-controlled input filename after -f without converting it to a safe absolute path, so a name beginning with a hyphen can be interpreted as a Ghostscript option. An attacker who controls the filename can inject Ghostscript arguments. Arbitrary command execution specifically requires a leading @ argument-file filename and control of the referenced text file containing additional Ghostscript arguments; the reported chain reproduces with the default -dSAFER invocation. This issue is fixed in version 13.0.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| python-pillow | Pillow | 2.6.0 to before 13.0.0 | 13.0.0 | Patch available | CNA |
| — | Pillow (PyPI) | 2.6.0 to before 13.0.0 | 13.0.0 | Patch available | GHSA-w889-685w-c8fh |
- Pillow Vendorpython-pillow Affected 2.6.0 to before 13.0.0 Fixed in 13.0.0 Patch available CNA
- Pillow (PyPI) Vendor— Affected 2.6.0 to before 13.0.0 Fixed in 13.0.0 Patch available GHSA-w889-685w-c8fh
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:* | 2.6.0 to before 13.0.0 | Vulnerable | python-pillow |
- cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:* Versions 2.6.0 to before 13.0.0 Vulnerable ·python-pillow
Remediation
Upgrade Pillow to version 13.0.0. Red Hat fixes this in RHSA-2026:93077 for Red Hat Enterprise Linux AppStream (v. 8) and Red Hat Enterprise Linux CRB (v. 8), and in RHSA-2026:94702, RHSA-2026:94709, RHSA-2026:94715, RHSA-2026:94717, RHSA-2026:94721 and RHSA-2026:94738 for Red Hat AI Inference Server 3.5; Red Hat lists no fix plan for Red Hat Enterprise Linux AI (RHEL AI) 3, Red Hat OpenShift AI (RHOAI) and Red Hat Satellite 6.
Written with Claude Haiku 5.5 from the sources below · 2026-11-07
- Fix · CNA Pillow (python-pillow) Fixed in 13.0.0
- Fix · GHSA-w889-685w-c8fh Pillow (PyPI) Fixed in 13.0.0 Advisory →
Red Hat 7 advisories
- RHSA-2026:94738 Released 2026-11-03 · Red Hat rating CriticalRed Hat AI Inference 3.5.3 (CUDA)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-cuda-rhel9
- RHSA-2026:94721 Released 2026-11-03 · Red Hat rating CriticalRed Hat AI Inference Tech Preview 3.5.3 (Gaudi)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-gaudi-rhel9
- RHSA-2026:94717 Released 2026-11-03 · Red Hat rating CriticalRed Hat AI Inference 3.5.3 (Spyre)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-spyre-rhel9
Show 4 more Red Hat advisories
- RHSA-2026:94715 Released 2026-11-03 · Red Hat rating CriticalRed Hat AI Inference Model Optimization Tools 3.5.3 (CUDA)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/model-opt-cuda-rhel9
- RHSA-2026:94709 Released 2026-11-03 · Red Hat rating CriticalRed Hat AI Inference 3.5.3 (ROCm)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-rocm-rhel9
- RHSA-2026:94702 Released 2026-11-03 · Red Hat rating CriticalRed Hat AI Inference 3.5.3 (CPU)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-cpu-rhel9
- RHSA-2026:93077 Released 2026-10-30 · Red Hat rating Criticalpython-pillow security update
- Red Hat Enterprise Linux AppStream (v. 8) python-pillow-5.1.1-36.el8_10, python3-pillow-5.1.1-36.el8_10
- Red Hat Enterprise Linux CRB (v. 8) python3-pillow-5.1.1-36.el8_10, python3-pillow-devel-5.1.1-36.el8_10, python3-pillow-doc-5.1.1-36.el8_10 +1
Vendor assessments
Red Hat
Red Hat rating: Critical. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Exploit Intelligence | Affected | No fix yet |
| Red Hat AI Inference Server | Affected | No fix yet |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | Affected | No fix yet |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet |
| Red Hat Satellite 6 | Affected | No fix yet |
| Red Hat AI Inference Server 3.5 | Fixed | RHSA-2026:94702, RHSA-2026:94709, RHSA-2026:94715, RHSA-2026:94717, RHSA-2026:94721, RHSA-2026:94738 |
| Red Hat Enterprise Linux AppStream (v. 8) | Fixed | RHSA-2026:93077 |
| Red Hat Enterprise Linux CRB (v. 8) | Fixed | RHSA-2026:93077 |
Not affected: 3 products
- Red Hat Ansible Automation Platform 2
- Red Hat Enterprise Linux 7
- Red Hat OpenShift AI (RHOAI)
Timeline
- 2026-10-20 Threatist record created from CVE-2026-112900
- 2026-10-20 CISA SSVC decision points changed
- 2026-10-21 Alias added: GHSA-w889-685w-c8fh
- 2026-10-21 Fix available: PyPI/[email protected] · GHSA-w889-685w-c8fh
- 2026-10-21 CVSS score added · GHSA-w889-685w-c8fh
- 2026-10-21 Weakness changed · GHSA-w889-685w-c8fh
- 2026-10-21 5 new references · GHSA-w889-685w-c8fh
- 2026-10-25 EPSS moved to the 50th–90th percentile
- 2026-10-27 CVSS score added · NVD
- 2026-10-30 Affected versions changed · Red Hat
- 2026-10-31 Fix available: RHSA-2026:93077 · Red Hat
- 2026-10-31 Fix available: Red Hat Enterprise Linux AppStream (v. 8), Red Hat Enterprise Linux CRB (v. 8) · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94717 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94715 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94709 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94738 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94702 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94721 · Red Hat
- 2026-11-04 Fix available: Red Hat AI Inference Server 3.5 · Red Hat
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-07 Affected versions changed · Red Hat
References
More python-pillow Pillow vulnerabilities
- TI-2026-76627 Out-of-bounds read in Pillow TIFF encoder ColorMap handling CVSS 4.0HIGH 8.8
- TI-2026-76625 Quadratic-time denial of service in Pillow PDF save_all CVSS 4.0HIGH 8.7
- TI-2026-76605 NULL pointer dereference in Pillow's Image.merge function CVSS 4.0HIGH 8.7
- TI-2026-76604 Out-of-bounds read in Pillow TIFF decoding leaks heap memory CVSS 4.0HIGH 8.8
- TI-2026-76602 Double free in Pillow ImagingScaleAffine on allocation failure CVSS 4.0HIGH 8.7
- TI-2026-76600 GIF seek in Pillow keeps rejected size, allowing denial of service CVSS 4.0HIGH 8.7
Sources
- CVE-2026-112900 · CVE Program
- CVE-2026-112900 · NVD
- FIRST EPSS
- GHSA-w889-685w-c8fh · GitHub Advisory Database · CC BY 4.0
- CVE-2026-112900 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences