CVE-2026-96778

HIGH CVSS 4.0: 7.7 EPSS 0.45%
Updated Oct 28, 2026
Python
Parameter Value
CVSS 7.7 (HIGH)
Affected Versions 9.4.0 — 13.0.0
Fixed In 13.0.0
Type CWE-787 (Out-of-bounds Write)
Vendor Python
Public PoC No

Pillow is a Python imaging library. From 9.4.0 until 13.0.0, ImagingJpegEncode() in src/libImaging/JpegEncode.c can call jpeg_write_marker() for a JPEG COM comment when an ICC profile has exactly filled the 65536-byte encoder buffer. libjpeg writes one byte before checking the exhausted free_in_buffer counter, which then wraps and permits the attacker-controlled comment and subsequent compressed image data to overwrite adjacent heap memory. Re-saving an untrusted image as JPEG while preserving its ICC profile and forwarded comment can crash the process and may enable code execution in suitable runtime and heap layouts.

This issue is fixed in version 13.0.0.

Attack Parameters

Attack Vector
Network
Can be exploited remotely
Attack Complexity
Low
Easy to exploit
Attack Requirements
Present
Additional conditions required
Privileges Required
None
No privileges needed
User Interaction
Passive
Minimal interaction

Impact Assessment

Confidentiality
High
Complete data leak
Integrity
High
Complete data modification
Availability
High
Complete denial of service

CVSS Vector v4.0

Weakness Type (CWE)

Vulnerable Products 1

Configuration From (including) Up to (excluding)
Python Pillow
cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:*
9.4.0 13.0.0