CVE-2026-112403: Pillow JPEG decoder buffer overflow in draft scaling

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

Pillow is a Python library for image manipulation used by countless applications. A flaw in its JPEG decoder can cause a buffer overflow when processing specially crafted JPEG files, potentially leading to application crashes, memory corruption, or code execution. Applications using Pillow's draft() or thumbnail() functions to downscale images are at risk.

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

Quick answers

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

The JPEG decoder in Pillow's ImagingJpegDecode function fails to validate libjpeg's actual output width and component count after requested scaling, particularly when libjpeg-turbo 3.x decodes lossless SOF3 JPEG frames. An attacker can supply a malicious JPEG that causes a full-width scanline to be written into a smaller buffer, resulting in heap corruption. The vulnerability affects applications calling draft() or thumbnail() to request downscaling.

Affected products

  • Python Pillow Project Pillow before 13.0.0

Identifiers

  • CVE-2026-112403
  • BIT-PILLOW-2026-112403
  • GHSA-8g5g-8vmr-9782
  • PYSEC-2026-4332

Timeline

  • 2026-10-19: disclosed
  • 2026-10-16: patched: Version 13.0.0 released

References

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