Pillow: P;2L and P;4L decoders may read 1 to 3 bytes past the passed buffer size
At a glance
Severity
MEDIUM 6.3
EPSS
EPSS 0.56 % · percentile 46 (2026-10-27)
State
PUBLISHED
Published
Updated
Assigner
GitHub_M
NVD status
Analyzed
Description
Pillow is a Python imaging library. Prior to 13.0.0, Pillow's P;2L and P;4L raw decoders can read past the end of an input buffer. ImagingRawDecode calculates a packed-pixel row size, while the unpackers read separately padded bit planes. A caller can supply a buffer and image dimensions whose accepted size is smaller than the unpacker's actual footprint. This can disclose up to three adjacent heap bytes in output pixels or crash the process. This issue is fixed in version 13.0.0.
GHSA-4558-3h8r-v8xp — Pillow: P;2L and P;4L decoders may read 1 to 3 bytes past the passed buffer size
PYSEC-2026-4327 — Pillow is a Python imaging library. Prior to 13.0.0, Pillow's P;2L and P;4L raw decoders can read past the end of an input buffer. ImagingRawDecode calculates a