Skip to content
OpenAdvisories
High · 7.1 CVE-2026-96643 BIT-pillow-2026-96643EUVD-2026-107564GHSA-g4qv-2jxx-769hPYSEC-2026-4342

Pillow: PNG eXIf chunk makes EXIF parsing run in quadratic time

Published Oct 21, 2026 · Updated Oct 23, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
python-pillow Pillow >= 11.0.0, < 13.0.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 pillow No fix yet —
Debian 13 pillow No fix yet —
Debian 12 pillow No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 pillow No fix yet —
Ubuntu 26.04 LTS pillow No fix yet —
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 20.04 LTS pillow-python2 No fix yet —
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 python-Pillow 11.3.0-160000.9.1 SUSE-SU-2026:24656-1
SLES 16.0 python-Pillow 11.3.0-160000.9.1 SUSE-SU-2026:24656-1
ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 python-Pillow 11.3.0-160000.9.1 openSUSE-SU-2026:22246-1

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling open-webui +1 No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI pillow >= 11.0.0, < 13.0.0 13.0.0 GHSA-g4qv-2jxx-769h

Advisories 2

References