Critical severity · published Oct 19, 2026
CVE-2026-112403
Pillow: Heap buffer overflow in ImagingJpegDecode
9.8
CVSS
0.8%
EPSS
No
On KEV
Description
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.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.8% · higher than 55% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
PI
Pillow · python-pillow
< 13.0.0 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-112403
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-112403
Patch
https://github.com/python-pillow/Pillow/commit/242a059aedc1935097d9aa1dc3f099750467ba75
Release Notes
https://github.com/python-pillow/Pillow/releases/tag/13.0.0
Exploit
https://github.com/python-pillow/Pillow/security/advisories/GHSA-8g5g-8vmr-9782
More from Pillow
9.8
CVE-2026-96639
Pillow multi-frame loaders can reuse stale native image storage after mode transitions
9.8
CVE-2026-112900
Pillow: Argument Injection in Ghostscript call, potentially leading into RCE
9.8
CVE-2026-112398
Pillow: Heap buffer overflow in FlashPix (FPX) JPEG decoding leads to code execution
9.8
CVE-2026-112393
Pillow: Heap buffer overflow in _tiffWriteProc when saving TIFF to BytesIO
9.1
CVE-2026-54058
Pillow: Out-of-bounds read via attacker-controlled row stride on Pillow's mmap path (McIdas AREA files)
