Impact
Pillow's morphology routine, ImageMorph.MorphOp.apply(), performs an out-of-bounds read on a zero-width image. Attackers can craft a PPM or PGM file with a width of zero and supply it to any application that processes images using Pillow. The library then attempts to read beyond the bounds of the row buffer, causing a crash. This vulnerability leads to a denial of service but does not provide code execution or data exfiltration.
Affected Systems
Python Pillow (pillow) is affected. All releases prior to version 13.0.0 are vulnerable. Upgrading to Pillow 13.0.0 or later resolves the issue.
Risk and Exploitability
The CVSS score of 8.7 indicates high severity. No EPSS score is available, and the vulnerability is not listed in CISA’s KEV catalog. The attack vector requires an attacker to deliver a malicious image to an application that calls MorphOp.apply(). If the application is exposed to untrusted input (e.g., a web upload), the exploit can be performed remotely. Even in a local context, the crash can be triggered by an attacker with access to the image file. The vulnerability is therefore considered high risk due to the likelihood of widespread use of Pillow and the potential for denial of service.
OpenCVE Enrichment