Skip to content
NewA calmer, faster ZeroHour

CVE-2026-112403

Heap overflow in Pillow JPEG draft/thumbnail before 13.0.0

CVSS 4.0
9.2 critical
EPSS
<1%p61
Published
·
Modified
Analyze CVE-2026-112403 with Vani AIImpact, affected versions, exploitation status, mitigations and detection

Pillow's JPEG decoder, before 13.0.0, can write a full-width scanline into a buffer sized for a requested draft scale. An attacker who can supply an 8-bit lossless SOF3 JPEG to an app that calls draft() or thumbnail() may corrupt heap memory, crash the process, or potentially run code, but only when Pillow is linked to libjpeg-turbo 3.x. libjpeg-turbo 2.x and IJG builds reject that input.

What to do: Upgrade Pillow to 13.0.0. Builds linked to libjpeg-turbo 2.x or IJG reject the SOF3 input that triggers this bug.

ProductAffectedFixed in
python-pillow Pillowprior to 13.0.013.0.0
Estimated exposure
largeWidespread pip library; only some image apps exposed — Pillow is a common pip package; reach needs untrusted JPEGs, draft() or thumbnail(), and libjpeg-turbo 3.x.

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description · NVD

Pillow is a Python imaging library. Prior to 13.0.0, Pillow's JPEG decoder can write a full-width scanline into a buffer sized for a requested draft scale. ImagingJpegDecode does not verify libjpeg's actual output width and component count after scaling is requested, and an 8-bit lossless SOF3 JPEG decoded by a build linked to libjpeg-turbo 3.x can ignore the requested downscaling geometry. An attacker can supply such a JPEG to an application that uses draft() or thumbnail() to request downscaling. This can corrupt heap memory, crash the process, or potentially allow code execution. Older libjpeg-turbo 2.x and IJG builds reject the SOF3 input. This issue is fixed in version 13.0.0.

Vendors
python
Products
pillow
Ecosystems
pip
Weakness
CWE-122
Vector
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
GHSA
GHSA-8g5g-8vmr-9782 (critical)

In the news

1 story