Pillow: Heap over-read in WMF/EMF rendering (CVE-2026-96644)
The Pillow library on Windows is vulnerable to a heap over-read when parsing crafted WMF/EMF image files that trigger dimension truncation in the native drawwmf handler.
CVE search metadata
CVE search record: CVE-2026-96644. Severity: high. CVSS: 8.1. EPSS: 0.38%. KEV: no. Product: Pillow (< 13.0.0). Brief: Pillow: Heap over-read in WMF/EMF rendering (CVE-2026-96644). Brief link: https://feed.craftedsignal.io/briefs/2026-10-pillow-heap-over-read/
Triage facts
Revision 1- Applicability
- Pillow (< 13.0.0)
- Evidence
- Unknown
- Severity
- High
- Action
- Elevated
- Sources
- 2 public sources
- Freshness
- Revision 1Oct 29, 23:25 UTC
- Vulnerabilities
- 1 CVE
- Source quality
- A1Likely
Pillow versions prior to 13.0.0 contain a heap over-read vulnerability in its Windows-specific drawwmf native handler. The vulnerability arises when processing WMF or EMF files where image dimensions (stored in 32-bit header fields) are truncated to 16-bit values during the memory allocation phase of rendering, while the subsequent memory copy operation uses the original 32-bit dimensions. An attacker can provide a crafted file that bypasses standard pixel-count decompression-bomb checks by setting a large width and small height, leading to a heap over-read which can result in process crashes or information disclosure. This issue only affects Windows builds where the native handler is compiled.
Impact
Successful exploitation allows for reading out-of-bounds heap memory, which can lead to application termination (DoS) or the potential leakage of sensitive data stored in memory adjacent to the heap buffer.
Recommendation
Update the Pillow library to version 13.0.0 or later across all Windows-based environments where it is utilized.
Immediate actions
Upgrade Pillow to version 13.0.0 or later on all Windows systems
Threat Hunt
Identify applications loading crafted EMF/WMF files that trigger unexpected process crashes in the Pillow library
Data: Windows Application Event Logs (Event ID 1000 - Application Error), Debugger logs (e.g., access violations or memory access errors in python.exe)
Mitigations
Patch Pillow to 13.0.0
CVE-2026-96644