CVE-2026-96643 Pillow: PNG eXIf chunk makes EXIF parsing run in quadratic time

High 7.1 Published Updated
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.

PackageAffectedFixed in
pillow BitnamiFrom 11.0.013.0.0
pillow PyPIFrom 11.0.013.0.0
pillow PyPIFrom 11.0.013.0.0
Pillow PyPIFrom 11.0.013.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.

All Python Pillow vulnerabilities

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.

Is CVE-2026-96643 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free