Pillow: WindowsViewer.get_command() OS command injection via unescaped shell path
At a glance
Severity
MEDIUM 4.5
EPSS
EPSS 0.18 % · percentile 7 (2026-10-28)
State
PUBLISHED
Published
Updated
Assigner
GitHub_M
NVD status
Analyzed
Description
Pillow is a Python imaging library. Prior to 12.3.0, WindowsViewer.get_command() constructed a cmd.exe shell command by directly embedding a file path into an f-string without escaping and passed the result to subprocess.Popen(..., shell=True), allowing shell metacharacters in the file path to inject arbitrary cmd.exe commands. This issue is fixed in version 12.3.0.
GHSA-4x4j-2g7c-83w6 — Pillow: WindowsViewer.get_command() OS command injection via unescaped shell path
PYSEC-2026-2257 — Pillow is a Python imaging library. Prior to 12.3.0, WindowsViewer.get_command() constructed a cmd.exe shell command by directly embedding a file path into an f