CVE-2026-112393: Pillow heap buffer overflow in TIFF compression with BytesIO

CVE-2026-112393 · Severity: critical · CVSS 4 · Published 2026-10-19

Pillow is a Python library for image processing. When saving compressed TIFF images to in-memory objects like BytesIO, a bug in the underlying libtiff handling can cause a buffer overflow that crashes the application or potentially allows code execution. This affects only in-memory operations; saving to regular files is not impacted.

Technologies: pillow (PyPI), Python Pillow Project Pillow. Vendors: PyPI, Python Pillow Project.

Quick answers

Is CVE-2026-112393 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-112393 being exploited in the wild.
How severe is CVE-2026-112393?
Critical severity, with a CVSS score of 4, published 19 October 2026.
Which products and versions are affected?
pillow (PyPI) >= 2.0.0, < 13.0.0, ECOSYSTEM:introduced=2.0.0,fixed=13.0.0; Python Pillow Project Pillow 2.0.0 to 12.x (before 13.0.0).
Is there a fix for CVE-2026-112393?
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-112393 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-112393?
Check whether you run pillow (PyPI) or Python Pillow Project Pillow 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
    pip install "pillow>=13.0.0"

Technical details

A heap buffer overflow exists in _tiffWriteProc when Pillow saves compressed TIFF data to targets without a file descriptor (such as BytesIO). The callback allocates based on prior buffer size rather than current write position, allowing attacker-controlled TIFF tags or ICC profiles to overflow the buffer. Additionally, unwritten alignment gaps larger than 64 KiB in compressed TIFF output can leak stale heap memory. The vulnerability requires the attacker to control the TIFF image structure or provide a crafted image file.

Affected products

  • Python Pillow Project Pillow 2.0.0 to 12.x (before 13.0.0)

Identifiers

  • CVE-2026-112393
  • GHSA-332p-7hrc-92wf

Timeline

  • 2026-10-19: disclosed
  • 2026-10-16: patched: Fixed in commit 11582e5

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.