Vulnerability · Published Jul 6, 2026 · Assigned by GitHub_M

CVE-2026-55798Pillow: WindowsViewer.get_command() OS command injection via unescaped shell path

Medium 4.5

In plain English

A medium-severity OS command injection in Pillow from python-pillow. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 7% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)4.5Medium
Exploit odds (30 days)0.2%top 92.5% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official 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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
PyPIpillow12.3.0GHSA-4x4j-2g7c-83w6
PyPIpillow12.3.0PYSEC-2026-2257
Ubuntu:22.04:LTSpillowno fix listedUBUNTU-CVE-2026-55798
Ubuntu:24.04:LTSpillowno fix listedUBUNTU-CVE-2026-55798
Ubuntu:25.10pillowno fix listedUBUNTU-CVE-2026-55798
Ubuntu:26.04:LTSpillowno fix listedUBUNTU-CVE-2026-55798

Affected products (as reported)

VendorProductVersions
python-pillow Pillow < 12.3.0

Weakness: CWE-78 · Vector: CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L

References