CVE-2026-96643
CVE-2026-96643 · Pillow: PNG eXIf chunk makes EXIF parsing run in quadratic time
This page contains facts from public vulnerability sources. Check the original advisory before updating.
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.
CVSS 7.1 · High · EPSS 0.3% · Fix available
- Published
- Updated
Affected products and versions
pillow
- Versions
- >= 11.0.0, < 13.0.0: Affected
No fix published
pillow Debian:12
- Versions
- 10.0.0-1
- 10.1.0-1
- 10.2.0-1
- 10.3.0-1
- 10.3.0-2
- 10.4.0-1
- 10.4.0-1.1
- 11.1.0-1
- 11.1.0-2
- 11.1.0-3
- 11.1.0-4
- 11.1.0-5
- 11.2.1-1
- 11.3.0-1
- 12.0.0-1
- 12.1.0-1
- 12.1.1-1
- 12.1.1-2
- 12.2.0-1
- 12.3.0-1
- 13.0.0-1
- 9.4.0-1.1
- 9.4.0-1.1+deb12u1
- 9.5.0-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pillow Debian:13
- Versions
- 11.1.0-5
- 11.1.0-5+deb13u1
- 11.1.0-5+deb13u2
- 11.1.0-5+deb13u3
- 11.1.0-5+deb13u4
- 11.2.1-1
- 11.3.0-1
- 12.0.0-1
- 12.1.0-1
- 12.1.1-1
- 12.1.1-2
- 12.2.0-1
- 12.3.0-1
- 13.0.0-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pillow Debian:14
- Versions
- 11.1.0-5
- 11.2.1-1
- 11.3.0-1
- 12.0.0-1
- 12.1.0-1
- 12.1.1-1
- 12.1.1-2
- 12.2.0-1
- 12.3.0-1
- 13.0.0-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pillow PyPI
- Versions
- 11.0.0
- 11.1.0
- 11.2.1
- 11.3.0
- 12.0.0
- 12.1.0
- 12.1.1
- 12.2.0
- 12.3.0
- Affected ranges
- ECOSYSTEM: ≥ 11.0.0, < 13.0.0
Update to 13.0.0
pillow Ubuntu:Pro:14.04:LTS
- Versions
- 2.2.1-1ubuntu2
- 2.2.1-2ubuntu1
- 2.2.1-3ubuntu2
- 2.2.1-3ubuntu3
- 2.2.1-3ubuntu4
- 2.2.1-3ubuntu6
- 2.3.0-1ubuntu1
- 2.3.0-1ubuntu2
- 2.3.0-1ubuntu3
- 2.3.0-1ubuntu3.2
- 2.3.0-1ubuntu3.3
- 2.3.0-1ubuntu3.4
- 2.3.0-1ubuntu3.4+esm1
- 2.3.0-1ubuntu3.4+esm2
- 2.3.0-1ubuntu3.4+esm3
- 2.3.0-1ubuntu3.4+esm4
- 2.3.0-1ubuntu3.4+esm5
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pillow Ubuntu:Pro:16.04:LTS
- Versions
- 2.9.0-1
- 3.0.0-1
- 3.0.0-1build1
- 3.1.0-1
- 3.1.1-1
- 3.1.2-0ubuntu1
- 3.1.2-0ubuntu1.1
- 3.1.2-0ubuntu1.3
- 3.1.2-0ubuntu1.4
- 3.1.2-0ubuntu1.5
- 3.1.2-0ubuntu1.6
- 3.1.2-0ubuntu1.6+esm1
- 3.1.2-0ubuntu1.6+esm2
- 3.1.2-0ubuntu1.6+esm3
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pillow Ubuntu:Pro:18.04:LTS
- Versions
- 4.1.1-3build2
- 4.3.0-2ubuntu1
- 5.0.0-1
- 5.1.0-1
- 5.1.0-1ubuntu0.2
- 5.1.0-1ubuntu0.3
- 5.1.0-1ubuntu0.4
- 5.1.0-1ubuntu0.5
- 5.1.0-1ubuntu0.6
- 5.1.0-1ubuntu0.7
- 5.1.0-1ubuntu0.8
- 5.1.0-1ubuntu0.8+esm1
- 5.1.0-1ubuntu0.8+esm2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pillow Ubuntu:Pro:20.04:LTS
- Versions
- 6.1.0-1
- 6.1.0-1build1
- 6.2.1-2
- 7.0.0-4
- 7.0.0-4build1
- 7.0.0-4ubuntu0.1
- 7.0.0-4ubuntu0.2
- 7.0.0-4ubuntu0.3
- 7.0.0-4ubuntu0.4
- 7.0.0-4ubuntu0.5
- 7.0.0-4ubuntu0.6
- 7.0.0-4ubuntu0.7
- 7.0.0-4ubuntu0.8
- 7.0.0-4ubuntu0.9
- 7.0.0-4ubuntu0.9+esm1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pillow-python2 Ubuntu:Pro:20.04:LTS
- Versions
- 6.2.1-3~build1
- 6.2.1-3
- 6.2.1-3ubuntu0.1~esm1
- 6.2.1-3ubuntu0.1~esm2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pillow Ubuntu:22.04:LTS
- Versions
- 8.1.2+dfsg-0.3
- 9.0.0-1
- 9.0.1-1
- 9.0.1-1build1
- 9.0.1-1ubuntu0.1
- 9.0.1-1ubuntu0.2
- 9.0.1-1ubuntu0.3
- 9.0.1-1ubuntu0.4
- 9.0.1-1ubuntu0.5
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pillow Ubuntu:24.04:LTS
- Versions
- 10.0.0-1
- 10.1.0-1
- 10.2.0-1
- 10.2.0-1build1
- 10.2.0-1ubuntu1
- 10.2.0-1ubuntu1.2
- 10.2.0-1ubuntu1.3
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pillow Ubuntu:26.10
- Versions
- 12.1.1-2ubuntu1
- 12.3.0-1ubuntu1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pillow Ubuntu:26.04:LTS
- Versions
- 11.3.0-1ubuntu1
- 11.3.0-1ubuntu2
- 12.0.0-1ubuntu1
- 12.1.1-1ubuntu1
- 12.1.1-2ubuntu1
- 12.1.1-2ubuntu1.1
- 12.1.1-2ubuntu1.2
- 12.1.1-2ubuntu1.3
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
Original sources
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-g4qv-2jxx-769h
- https://github.com/python-pillow/Pillow/pull/10073
- https://github.com/python-pillow/Pillow/commit/806e38381c781f32bbd22f4cd026678acd40fd6c
- https://github.com/python-pillow/Pillow/releases/tag/13.0.0
- https://nvd.nist.gov/vuln/detail/CVE-2026-96643