Skip to main content
← All vulnerabilities
CVE-2026-96644GHSA-9V9V-9QVF-H2HJPYSEC-2026-4343

Pillow: Heap over-read in WMF/EMF rendering via 16-bit dimension truncation (Windows builds)

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 13.0.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

Pillow is a Python imaging library. Prior to 13.0.0 on Windows, src/PIL/WmfImagePlugin.py passes unchecked 32-bit WMF or EMF dimensions to the native drawwmf handler in src/display.c. The handler sizes a DIB allocation from 16-bit-truncated bcWidth and bcHeight fields but copies pixel data using the original full dimensions. A crafted wide, short metafile can pass the pixel-count decompression-bomb check and make the Windows-only renderer read beyond the heap buffer, potentially disclosing memory or crashing the process. This issue is fixed in version 13.0.0.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  4. Record last updated

Affected versions

  • python-pillow Pillow

    fixed in 13.0.0

  • pillowPyPI

    fixed in 13.0.0

References 4

GitHub · python-pillow/Pillow