Pillow: Arrow export leaks stale heap memory when PILLOW_ALIGNMENT > 1
At a glance
Severity
MEDIUM 6.3
EPSS
EPSS 0.47 % · percentile 40 (2026-10-27)
State
PUBLISHED
Published
Updated
Assigner
GitHub_M
NVD status
Analyzed
Description
Pillow is a Python imaging library. From 11.2.1 until 13.0.0, Arrow export assumes that an image's rows are tightly contiguous and exports from im->blocks[0].ptr even when PILLOW_ALIGNMENT makes aligned_linesize include row padding or an aligned offset before the first row. The resulting Arrow buffer can include uninitialized padding, bytes preceding the first row, or stale heap contents from previously freed images. Applications that configure alignment and export images to Arrow can therefore disclose one user's pixels or other process memory to another user. This issue is fixed in version 13.0.0.
GHSA-654x-cwwv-5j9c — Pillow: Arrow export leaks stale heap memory when PILLOW_ALIGNMENT > 1
PYSEC-2026-4336 — Pillow is a Python imaging library. From 11.2.1 until 13.0.0, Arrow export assumes that an image's rows are tightly contiguous and exports from im->blocks[0].pt