Executive brief
Pillow is a popular Python image processing library used by applications to load and manipulate image files. A buffer overflow vulnerability in its PhotoCD image decoder allows attackers to crash applications by supplying maliciously crafted PhotoCD files, causing denial of service and potential application instability.
Technical details
A buffer overflow exists in the ImagingPcdDecode function in PcdDecode.c, where the PCD (PhotoCD) decoder fails to properly validate input bounds before writing to a shuffle buffer. Remote attackers can trigger the overflow by providing a specially crafted PhotoCD image file, requiring only that a user or application opens the malicious file (no authentication or elevated privileges needed). The vulnerability causes a process crash, resulting in denial of service. The vulnerability was fixed in Pillow version 3.1.1.
Affected products
- Python Imaging Library (PIL) Contributors Pillow before 3.1.1
Timeline
- 2016-02: disclosed: CVE-2016-2533 disclosed
- 2016: patched: Fixed in Pillow 3.1.1
- 2018-07-24: advisory: GHSA-3c5c-7235-994j published