CVE-2026-96643 Pillow: PNG eXIf chunk makes EXIF parsing run in quadratic time
- Exploited in the wild
- Not known
- Fix
- Available
What is CVE-2026-96643?
CVE-2026-96643 is a high-severity 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, Exif.load() in src/PIL/Image.py repeatedly slices the remaining EXIF data while it begins with the six-byte Exif header. src/PIL/PngImagePlugin.py accepts an uncapped PNG eXIf chunk, so a file filled with repeated headers causes a new shrinking copy on every iteration and quadratic CPU work. The condition is reachable through Image.getexif(), Image._getexif(), and ImageOps.exif_transpose(), including common photo-upload rotation workflows. This issue is fixed in version 13.0.0.
Weakness: CWE-407
Which versions are affected by CVE-2026-96643?
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-96643?
Upgrade pillow to 13.0.0 or later.
Is CVE-2026-96643 being exploited?
There is no known exploitation of CVE-2026-96643 in the wild and no public exploit code.
Other vulnerabilities in Python Pillow
Sources
Also known as BIT-pillow-2026-96643, DEBIAN-CVE-2026-96643, ECHO-712f-aaf2-685e, GHSA-g4qv-2jxx-769h, PYSEC-2026-4342, ROOT-APP-PYPI-CVE-2026-96643 and 1 more.