CVE Catalog

CVE-2026-112898

MediumCVSS 6.9
Published: Translated: NVD NIST

Summary

Pillow from 9.1.0 until 13.0.0 can disclose uninitialized stack memory when Image.quantize() uses an empty palette. ImagingPaletteCacheUpdate() leaves a local cache array uninitialized when the palette has zero entries, and the conversion path emits those bytes as output pixel indices in a returned PNG or GIF.

Risk Assessment

An attacker controlling the palette image can obtain stack contents, including addresses and stack-canary data, potentially aiding further attacks. The leak occurs without out-of-bounds access or process crash.

Recommendation

Update Pillow to version 13.0.0 or later. Avoid processing images with untrusted palettes in security-sensitive contexts.

Other vulnerabilities in Pillow

See all
Original NVD description (English source)

Pillow is a Python imaging library. From 9.1.0 until 13.0.0, Pillow can disclose uninitialized stack memory when Image.quantize() uses an empty palette. ImagingPaletteCacheUpdate() leaves a local cache array uninitialized when the palette has zero entries, and the conversion path emits those bytes as output pixel indices. An attacker who controls the palette image can obtain stack contents from a returned PNG or GIF. This can disclose addresses and stack-canary data without an out-of-bounds access, memory corruption, or process crash. This issue is fixed in version 13.0.0.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS