# CVE-2026-96643: Pillow quadratic CPU work in EXIF parsing

Source: https://junglewise.ai/threats/cve-2026-96643-pillow-is-a-python-imaging-library-from-11-0-0-until-13-0-0-exif  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-21. Updated: 2026-10-21  
License: CC BY 4.0 with a link back

CVE-2026-96643 · Severity: high · CVSS 4 · Published 2026-10-21

Pillow is a widely-used Python library for image processing. An attacker who uploads a specially crafted PNG image file can cause the server to spend excessive CPU time parsing malformed EXIF metadata headers, potentially leading to denial of service during image processing operations like rotation or thumbnail generation.

Technologies: [Pillow](https://junglewise.ai/threats/technologies/pillow-pillow), [pillow (PyPI)](https://junglewise.ai/threats/technologies/pillow). Vendors: [Pillow](https://junglewise.ai/threats/vendors/pillow), [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is CVE-2026-96643 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-96643 being exploited in the wild.

**How severe is CVE-2026-96643?** High severity, with a CVSS score of 4, published 21 October 2026.

**Which products and versions are affected?** Pillow 11.0.0 to 12.x (before 13.0.0); pillow (PyPI) >= 11.0.0, < 13.0.0, ECOSYSTEM:introduced=11.0.0,fixed=13.0.0.

**Is there a fix for CVE-2026-96643?** Yes. pillow (PyPI): upgrade to 13.0.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-96643 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-96643?** Check whether you run Pillow or pillow (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- pillow (PyPI): upgrade to 13.0.0 or later

  ```sh
  pip install "pillow>=13.0.0"
  ```


## Technical details

The vulnerability exists in Exif.load() (src/PIL/Image.py) which repeatedly slices EXIF data when it begins with the six-byte Exif header. PNG eXIf chunks are uncapped, allowing a file with repeated headers to trigger quadratic CPU work as each iteration creates a new shrinking copy. The flaw is reachable via Image.getexif(), Image._getexif(), and ImageOps.exif_transpose(), making it exploitable in common photo-upload workflows.

## Affected products

- Pillow Pillow 11.0.0 to 12.x (before 13.0.0)

## Identifiers

- CVE-2026-96643
- BIT-PILLOW-2026-96643
- GHSA-g4qv-2jxx-769h
- PYSEC-2026-4342

## Timeline

- 2026-10-21: disclosed
- 2026-09-28: patched

## References

- [https://github.com/python-pillow/Pillow/commit/806e38381c781f32bbd22f4cd026678acd40fd6c](https://github.com/python-pillow/Pillow/commit/806e38381c781f32bbd22f4cd026678acd40fd6c)
- [https://github.com/python-pillow/Pillow/pull/10073](https://github.com/python-pillow/Pillow/pull/10073)

## Related threats

- [Pillow heap buffer overflow in TIFF encoder with mismatched geometry tags](https://junglewise.ai/threats/cve-2026-128067-pillow-heap-buffer-overflow-saving-tiff-with-libtiff-when-tags)
- [Pillow memory denial of service in TIFF and EXIF parsing](https://junglewise.ai/threats/cve-2026-128066-pillow-memory-dos-in-tiff-and-exif-ifd-parsing-via-overlapping)
- [Pillow libtiff encoder memory disclosure and crash via crafted TIFF tags](https://junglewise.ai/threats/cve-2026-112902-pillow-memory-disclosure-and-segfault-in-libtiff-encoder-via)
- [Pillow EPS load decompression bomb check bypass in Ghostscript scaling](https://junglewise.ai/threats/cve-2026-112899-pillow-eps-load-scale-lets-ghostscript-render-past-the)
- [Pillow heap buffer overflow in bundled libopenjp2](https://junglewise.ai/threats/pillow-bundled-libopenjp2-2-5-4-in-all-wheels-since-11-1-0-carries-osv-cd00a842)
