Impact
This vulnerability resides in Pillow’s Arrow export routine. When the configuration variable PILLOW_ALIGNMENT is set to a value greater than one, the routine incorrectly assumes that image data rows are tightly contiguous. As a result, the exported Arrow buffer may include uninitialized padding, bytes that precede the first image row, or stale heap contents from previously freed images. An application that performs Arrow export with such an alignment value can inadvertently leak another user’s pixel data or arbitrary process memory, leading to unintended disclosure of sensitive information.
Affected Systems
The flaw is present in the python-pillow Pillow library for versions 11.2.1 through 12.x, inclusive. The issue was addressed and fixed in Pillow 13.0.0; any releases from 13.0.0 onward are not affected. The CNA lists the product as python-pillow:Pillow.
Risk and Exploitability
The CVSS score of 6.3 classifies the issue as moderate severity. The EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog, indicating a low probability of widespread exploitation at present. An attacker must drive an application to use Arrow export with a custom alignment setting greater than one; this can be achieved by influencing configuration or by providing images with specific metadata. Once the alignment condition is met, the memory leakage can expose sensitive pixel data or arbitrary heap contents from other users, compromising confidentiality.
OpenCVE Enrichment
Github GHSA