CVE-2026-112900: Pillow: Argument Injection in Ghostscript call, potentially leading into RCE
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Pillowto a version that resolves this vulnerability.Fixed in 13.0.0
Event History
Frequently Asked Questions
Which deployments are exposed?
Deployments using Pillow versions from 2.6.0 through versions before 13.0.0 are affected when they invoke Ghostscript to process EPS input and an attacker can control the input filename.
What does an attacker need to achieve arbitrary command execution?
The attacker needs to control a filename beginning with @ so it is treated as a Ghostscript argument file, and must also control the referenced text file containing additional Ghostscript arguments. The reported command-execution chain works with the default -dSAFER invocation.
Is the default Ghostscript invocation sufficient to prevent exploitation?
No. The reported arbitrary-command-execution chain reproduces despite Pillow using the default -dSAFER Ghostscript argument.
What is the available fix?
Upgrade Pillow to version 13.0.0, which fixes the argument injection issue.