Read the docs
TI-2026-78997 Aliases CVE-2026-96644GHSA-9v9v-9qvf-h2hj

Heap over-read in Pillow WMF and EMF rendering on Windows

Priority MEDIUM 64CWE-125Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
—
Confidentiality · integrity · availability
Low · None · High
Fix status
Partial Red Hat: 3 fixed, 9 without a fix

Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat.

Summary

Pillow before 13.0.0 on Windows passes unchecked 32-bit WMF and EMF dimensions to its native renderer, which sizes a buffer from 16-bit truncated fields but copies pixel data using the full dimensions (CWE-125). A crafted wide, short metafile can make the renderer read past a heap buffer, which can potentially disclose memory or crash the process.

Written with Claude Haiku 5.5 from the sources below · 2026-11-04

Description from the CNA

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00384 32nd percentileScored 2026-11-07
Fix Partial Pillow (python-pillow): 13.0.0Pillow (PyPI): 13.0.0Red Hat: 8 advisoriesRed Hat: 3 fixed, 9 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
python-pillowPillowbefore 13.0.013.0.0Patch availableCNA
—Pillow (PyPI)before 13.0.013.0.0Patch availableGHSA-9v9v-9qvf-h2hj
  • Pillow Vendorpython-pillow Affected before 13.0.0 Fixed in 13.0.0 Patch available CNA
  • Pillow (PyPI) Vendor— Affected before 13.0.0 Fixed in 13.0.0 Patch available GHSA-9v9v-9qvf-h2hj

CPE configurations NVD · 2

CPEVersionsRoleVendor
cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:*before 13.0.0Vulnerablepython-pillow
cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:*not specified by NVDRunning onMicrosoft
  • cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:* Versions before 13.0.0 Vulnerable ·python-pillow
  • cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:* Versions not specified by NVD Running on ·Microsoft

Remediation

Upgrade Pillow to 13.0.0 or later. Red Hat fixes Red Hat AI Inference Server 3.5 in RHSA-2026:94738, RHSA-2026:94721, RHSA-2026:94717, RHSA-2026:94715, RHSA-2026:94709 and RHSA-2026:94702, Red Hat OpenShift AI 3.5 in RHSA-2026:94631, and Red Hat OpenShift AI 3.4 in RHSA-2026:92510. Red Hat AI Inference Server has no fix planned.

Written with Claude Haiku 5.5 from the sources below · 2026-11-04

  • Fix · CNA Pillow (python-pillow) Fixed in 13.0.0
  • Fix · GHSA-9v9v-9qvf-h2hj Pillow (PyPI) Fixed in 13.0.0 Advisory →

Red Hat 8 advisories

  • RHSA-2026:94738 Released 2026-11-03 · Red Hat rating Critical
    Red Hat AI Inference 3.5.3 (CUDA)
    • Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-cuda-rhel9
  • RHSA-2026:94721 Released 2026-11-03 · Red Hat rating Critical
    Red Hat AI Inference Tech Preview 3.5.3 (Gaudi)
    • Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-gaudi-rhel9
  • RHSA-2026:94717 Released 2026-11-03 · Red Hat rating Critical
    Red Hat AI Inference 3.5.3 (Spyre)
    • Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-spyre-rhel9
Show 5 more Red Hat advisories
  • RHSA-2026:94715 Released 2026-11-03 · Red Hat rating Critical
    Red Hat AI Inference Model Optimization Tools 3.5.3 (CUDA)
    • Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/model-opt-cuda-rhel9
  • RHSA-2026:94709 Released 2026-11-03 · Red Hat rating Critical
    Red Hat AI Inference 3.5.3 (ROCm)
    • Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-rocm-rhel9
  • RHSA-2026:94702 Released 2026-11-03 · Red Hat rating Critical
    Red Hat AI Inference 3.5.3 (CPU)
    • Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-cpu-rhel9
  • RHSA-2026:94631 Released 2026-11-03 · Red Hat rating Critical
    GuideLLM 3.5.1
    • Red Hat OpenShift AI 3.5 registry.redhat.io/rhai/guidellm-rhel9
  • RHSA-2026:92510 Released 2026-10-29 · Red Hat rating Critical
    RHOAI 3.4.6 - Red Hat OpenShift AI
    • Red Hat OpenShift AI 3.4 registry.redhat.io/rhoai/odh-built-in-detector-rhel9, registry.redhat.io/rhoai/odh-cli-rhel9, registry.redhat.io/rhoai/odh-dashboard-rhel9 +47

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

ProductStatusPlan or fix
Exploit IntelligenceAffectedNo fix yet
Lightspeed CoreAffectedNo fix yet
OpenShift LightspeedAffectedNo fix yet
Red Hat AI Inference ServerAffectedNo fix planned: Will not fix
Red Hat Ansible Automation Platform 2AffectedNo fix yet
Red Hat Enterprise Linux AI (RHEL AI) 3AffectedNo fix yet
Red Hat Lightspeed Services for OCPAffectedNo fix yet
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet
Red Hat Quay 3AffectedNo fix yet
Red Hat AI Inference Server 3.5Fixed RHSA-2026:94702, RHSA-2026:94709, RHSA-2026:94715, RHSA-2026:94717, RHSA-2026:94721, RHSA-2026:94738
Red Hat OpenShift AI 3.4Fixed RHSA-2026:92510
Red Hat OpenShift AI 3.5Fixed RHSA-2026:94631
Not affected: 5 products
  • Red Hat Ansible Automation Platform 2
  • Red Hat Enterprise Linux 8
  • Red Hat OpenShift AI (RHOAI)
  • Red Hat OpenShift AI 3.4
  • Red Hat Satellite 6

Timeline

  1. 2026-10-21 Threatist record created from CVE-2026-96644
  2. 2026-10-22 Affected versions changed · Red Hat
  3. 2026-10-22 CVSS score added · Red Hat
  4. 2026-10-22 Alias added: GHSA-9v9v-9qvf-h2hj
  5. 2026-10-22 Fix available: PyPI/[email protected] · GHSA-9v9v-9qvf-h2hj
  6. 2026-10-22 CVSS score added · GHSA-9v9v-9qvf-h2hj
  7. 2026-10-22 Weakness changed · GHSA-9v9v-9qvf-h2hj
  8. 2026-10-22 6 new references · GHSA-9v9v-9qvf-h2hj
  9. 2026-10-23 Affected versions changed · Red Hat
  10. 2026-10-23 Priority changed: MEDIUM → LOW
  11. 2026-10-24 Affected versions changed · Red Hat
  12. 2026-10-27 CVSS score added · NVD
  13. 2026-10-28 CISA SSVC decision points changed
  14. 2026-10-28 Priority changed: LOW → MEDIUM
  15. 2026-10-30 Fix available: RHSA-2026:92510 · Red Hat
  16. 2026-10-30 Fix available: Red Hat OpenShift AI 3.4 · Red Hat
  17. 2026-11-04 Affected versions changed · Red Hat
  18. 2026-11-04 Fix available: RHSA-2026:94717 · Red Hat
  19. 2026-11-04 Fix available: RHSA-2026:94715 · Red Hat
  20. 2026-11-04 Fix available: RHSA-2026:94709 · Red Hat
  21. 2026-11-04 Fix available: RHSA-2026:94738 · Red Hat
  22. 2026-11-04 Fix available: RHSA-2026:94702 · Red Hat
  23. 2026-11-04 Fix available: RHSA-2026:94631 · Red Hat
  24. 2026-11-04 Fix available: RHSA-2026:94721 · Red Hat
  25. 2026-11-04 Fix available: Red Hat AI Inference Server 3.5, Red Hat OpenShift AI 3.5 · Red Hat

References

  • TI-2026-76627 Out-of-bounds read in Pillow TIFF encoder ColorMap handling CVSS 4.0HIGH 8.8
  • TI-2026-76625 Quadratic-time denial of service in Pillow PDF save_all CVSS 4.0HIGH 8.7
  • TI-2026-76605 NULL pointer dereference in Pillow's Image.merge function CVSS 4.0HIGH 8.7
  • TI-2026-76604 Out-of-bounds read in Pillow TIFF decoding leaks heap memory CVSS 4.0HIGH 8.8
  • TI-2026-76602 Double free in Pillow ImagingScaleAffine on allocation failure CVSS 4.0HIGH 8.7
  • TI-2026-76600 GIF seek in Pillow keeps rejected size, allowing denial of service CVSS 4.0HIGH 8.7
See all 110 →

Sources