Pillow multi-frame loaders reuse stale native image storage
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 1 fixed, 5 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-787 and the CVSS impact.
Summary
Pillow from 11.0.0 before 13.0.0 is affected. Multi-frame loaders can reuse a native image allocation made for a narrow frame mode after a later frame of the same size switches to wider RGB or CMYK data, because the stored mode and size are not checked. This out-of-bounds write (CWE-787) lets a remote attacker without privileges or user interaction crash the process with crafted PSD, MPO, DCX, or MIC images. The MPO path can also cause a native over-read and, in demonstrated runtime-specific profiles, command execution.
Written with Claude Haiku 5.5 from the sources below · 2026-11-07
Description from the CNA
Pillow is a Python imaging library. From 11.0.0 until 13.0.0, multi-frame loaders can retain an ImagingCore allocation created for a narrow frame mode while a later frame of the same dimensions changes the logical mode and decoder tiles to wider RGB or CMYK data. ImageFile.load_prepare() reuses the stale native storage because _im is non-null without verifying that its mode and size still match. Crafted PSD, MPO, DCX, or MIC frame transitions can then write wider pixels into the narrow allocation, causing native out-of-bounds writes and crashes. The MPO path can also cause a native over-read and, in demonstrated runtime-specific profiles, command execution. This issue is fixed in version 13.0.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| python-pillow | Pillow | 11.0.0 to before 13.0.0 | 13.0.0 | Patch available | CNA |
| — | Pillow (PyPI) | 11.0.0 to before 13.0.0 | 13.0.0 | Patch available | GHSA-v9pv-5gc8-w2m6 |
- Pillow Vendorpython-pillow Affected 11.0.0 to before 13.0.0 Fixed in 13.0.0 Patch available CNA
- Pillow (PyPI) Vendor— Affected 11.0.0 to before 13.0.0 Fixed in 13.0.0 Patch available GHSA-v9pv-5gc8-w2m6
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:* | 11.0.0 to before 13.0.0 | Vulnerable | python-pillow |
- cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:* Versions 11.0.0 to before 13.0.0 Vulnerable ·python-pillow
Remediation
Upgrade Pillow to version 13.0.0, which fixes this flaw in the PyPI package. Red Hat AI Inference Server 3.5 is fixed by RHSA-2026:94738, RHSA-2026:94721, RHSA-2026:94717, RHSA-2026:94715, RHSA-2026:94709 and RHSA-2026:94702. Red Hat lists Red Hat AI Inference Server, Red Hat Enterprise Linux AI (RHEL AI) 3, Red Hat OpenShift AI (RHOAI) and Red Hat Satellite 6 as affected without a fix, with no plan available.
Written with Claude Haiku 5.5 from the sources below · 2026-11-07
- Fix · CNA Pillow (python-pillow) Fixed in 13.0.0
- Fix · GHSA-v9pv-5gc8-w2m6 Pillow (PyPI) Fixed in 13.0.0 Advisory →
Red Hat 6 advisories
- RHSA-2026:94738 Released 2026-11-03 · Red Hat rating CriticalRed 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 CriticalRed 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 CriticalRed Hat AI Inference 3.5.3 (Spyre)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-spyre-rhel9
Show 3 more Red Hat advisories
- RHSA-2026:94715 Released 2026-11-03 · Red Hat rating CriticalRed 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 CriticalRed 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 CriticalRed Hat AI Inference 3.5.3 (CPU)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-cpu-rhel9
Vendor assessments
Red Hat
Red Hat rating: Critical. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Exploit Intelligence | Affected | No fix yet |
| Red Hat AI Inference Server | Affected | No fix yet |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | Affected | No fix yet |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet |
| Red Hat Satellite 6 | Affected | No fix yet |
| Red Hat AI Inference Server 3.5 | Fixed | RHSA-2026:94702, RHSA-2026:94709, RHSA-2026:94715, RHSA-2026:94717, RHSA-2026:94721, RHSA-2026:94738 |
Not affected: 4 products
- Red Hat Ansible Automation Platform 2
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux AI (RHEL AI) 3
- Red Hat OpenShift AI (RHOAI)
Timeline
- 2026-10-21 Threatist record created from CVE-2026-96639
- 2026-10-22 Alias added: GHSA-v9pv-5gc8-w2m6
- 2026-10-22 Fix available: PyPI/[email protected] · GHSA-v9pv-5gc8-w2m6
- 2026-10-22 CVSS score added · GHSA-v9pv-5gc8-w2m6
- 2026-10-22 Weakness changed · GHSA-v9pv-5gc8-w2m6
- 2026-10-22 6 new references · GHSA-v9pv-5gc8-w2m6
- 2026-10-25 EPSS moved to the 50th–90th percentile
- 2026-10-29 CISA SSVC decision points changed
- 2026-11-03 Affected versions changed · Red Hat
- 2026-11-03 Affected versions changed · Red Hat
- 2026-11-03 Affected versions changed · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94717 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94715 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94709 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94738 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94702 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94721 · Red Hat
- 2026-11-04 Fix available: Red Hat AI Inference Server 3.5 · Red Hat
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-07 Affected versions changed · Red Hat
References
Advisory 2
More python-pillow Pillow vulnerabilities
- 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
Sources
- CVE-2026-96639 · CVE Program
- CVE-2026-96639 · NVD
- FIRST EPSS
- GHSA-v9pv-5gc8-w2m6 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-96639 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences