CVE-2026-96639 Pillow multi-frame loaders can reuse stale native image storage after mode transitions
- Exploited in the wild
- Not known
- Fix
- Available
What is CVE-2026-96639?
CVE-2026-96639 is a critical vulnerability in Python Pillow, published on 21 Oct 2026.
Official description
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.
Which versions are affected by CVE-2026-96639?
4 open source packages ship an affected version, including pillow and Pillow. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
pillow Bitnami | From 11.0.0 | 13.0.0 |
pillow PyPI | From 11.0.0 | 13.0.0 |
pillow PyPI | From 11.0.0 | 13.0.0 |
Pillow PyPI | From 11.0.0 | 13.0.0 |
Products include Python Pillow.
How do I fix CVE-2026-96639?
Upgrade pillow to 13.0.0 or later.
Is CVE-2026-96639 being exploited?
There is no known exploitation of CVE-2026-96639 in the wild and no public exploit code.
Other vulnerabilities in Python Pillow
Sources
Also known as BIT-pillow-2026-96639, DEBIAN-CVE-2026-96639, ECHO-68a5-bb35-54de, GHSA-v9pv-5gc8-w2m6, PYSEC-2026-4339, ROOT-APP-PYPI-CVE-2026-96639 and 1 more.