# CVE-2026-59205: Pillow heap corruption in ImageCmsTransform.apply

Source: https://junglewise.ai/threats/cve-2026-59205-pillow-heap-corruption-in-imagecmstransform-apply  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-14. Updated: 2026-07-20  
License: CC BY 4.0 with a link back

CVE-2026-59205 · Severity: high · CVSS 7.5 · Published 2026-07-14

Pillow, a popular Python library for image processing, contains a vulnerability in its color management system. An attacker can provide a specially crafted image that causes the software to write data beyond its intended memory boundaries. This can lead to a service crash or potentially allow an attacker to gain further control over the system.

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

## Quick answers

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

**How severe is CVE-2026-59205?** High severity, with a CVSS score of 7.5, published 14 July 2026.

**Which products and versions are affected?** pillow (PyPI) < 12.3.0, ECOSYSTEM:introduced=0,fixed=12.3.0.

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

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

**Am I affected by CVE-2026-59205?** Check whether you run 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 12.3.0 or later

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


## Technical details

A heap out-of-bounds write exists in Pillow's ImageCms extension due to insufficient validation of image modes in the `ImageCmsTransform.apply()` method. When a caller provides an `imOut` image with a mode (e.g., 'L', 1 byte per pixel) that is smaller than the transform's expected output mode (e.g., 'RGBA', 4 bytes per pixel), the underlying LittleCMS `cmsDoTransform` function writes more data than the destination buffer can hold. This occurs because the C wrapper `pyCMSdoTransform` in `src/_imagingcms.c` only verifies image dimensions but not pixel depth. An attacker who can control the transform parameters or the output image object can achieve controlled heap corruption, as source pixels influence the bytes written out of bounds. The issue is fixed in version 12.3.0 by adding mode validation in both the Python API and the C extension.

## Affected products

- python-pillow Pillow < 12.3.0

## Identifiers

- CVE-2026-59205
- GHSA-9hw9-ch79-4vh6
- PYSEC-2026-3453

## Timeline

- 2026-07-07: disclosed: Reported to python-pillow/Pillow
- 2026-07-14: advisory: NVD published CVE-2026-59205
- 2026-07-20: patched: GitHub Advisory published and version 12.3.0 released

## References

- [https://api.github.com/users/Serotav](https://api.github.com/users/Serotav)
- [https://github.com/Serotav](https://github.com/Serotav)
- [https://api.github.com/users/Serotav/gists%7B/gist_id%7D](https://api.github.com/users/Serotav/gists%7B/gist_id%7D)
- [https://api.github.com/users/Serotav/repos](https://api.github.com/users/Serotav/repos)
- [https://avatars.githubusercontent.com/u/132073089?v=4](https://avatars.githubusercontent.com/u/132073089?v=4)
- [https://api.github.com/users/Serotav/events%7B/privacy%7D](https://api.github.com/users/Serotav/events%7B/privacy%7D)

## 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)
