PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-96644 python-pillow CVE debrief

A heap over-read vulnerability exists in Pillow's WMF/EMF rendering on Windows builds. The issue arises from storing image dimensions without range checks and passing them to the native `drawwmf` handler, which truncates dimensions into 16-bit header fields for allocation but uses full 32-bit dimensions for copying, leading to a potential heap over-read.

Vendor
python-pillow
Product
pillow
CVSS
HIGH 7.1
CISA KEV
Not listed in stored evidence
Original CVE published
2026-10-22
Original CVE updated
2026-10-22
Advisory published
2026-10-22
Advisory updated
2026-10-22

Who should care

Defenders responsible for Windows environments where Pillow is used, especially those handling image processing or using Pillow in their applications, should assess exposure and prioritize updating to version 13.0.0 or later.

Why it matters

The vulnerability in Pillow's WMF/EMF rendering on Windows builds can lead to a heap over-read, potentially disclosing sensitive information. Defenders should prioritize verifying exposure, updating to version 13.0.0 or later, and monitoring image processing workflows for potential malicious activity.

  • Potential heap over-read leading to information disclosure
  • Verification of Pillow version and exposure in Windows environments is crucial
  • Updating to version 13.0.0 or later is necessary to address the vulnerability

Technical summary

The vulnerability exists in Pillow's handling of WMF/EMF images on Windows. The code stores image dimensions without checks and passes them to the native `drawwmf` handler. The handler truncates dimensions to 16-bit for allocation but uses 32-bit values for copying, potentially leading to a heap over-read. This issue affects Pillow versions prior to 13.0.0 on Windows builds, and defenders should prioritize verifying exposure, updating to version 13.0.0 or later, and monitoring image processing workflows for potential malicious activity.

Defensive priority

Defenders should prioritize verifying and updating Pillow to version 13.0.0 or later, especially in Windows environments where the vulnerability is exploited. They should also review and monitor image processing workflows for potential malicious metafiles.

Recommended defensive actions

  • Verify and update Pillow to version 13.0.0 or later
  • Review and monitor image processing workflows for potential malicious metafiles
  • Implement additional security measures for Windows environments where Pillow is used
  • Track exceptions and retest remediated assets
  • Check relevant monitoring, detection, and logs for exposed assets that need extra review
  • Review compensating controls for exposed systems while remediation is scheduled and verified
  • Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up

Evidence notes

The vulnerability is confirmed in Pillow versions prior to 13.0.0 on Windows builds. The issue is caused by the lack of range checks on image dimensions and the discrepancy between 16-bit and 32-bit dimension handling in the native `drawwmf` handler.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-96644 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-96644

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-96644 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-96644

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

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

    Unverified legacy reference

    URL: https://storage.googleapis.com/osv-vulnerabilities/PyPI/GHSA-9v9v-9qvf-h2hj.json

    osv_dev

  • Source reference

    Unverified legacy reference

    URL: https://github.com/python-pillow/Pillow/security/advisories/GHSA-9v9v-9qvf-h2hj

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/python-pillow/Pillow/pull/10120

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/python-pillow/Pillow/commit/4cf46bee338304c5c8968fd7f132ba0d40c428b7

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/python-pillow/Pillow

    Supplemental source

  • Source reference

    Unverified legacy reference

    URL: https://github.com/python-pillow/Pillow/releases/tag/13.0.0

    Supplemental source

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.