CVE Catalog

CVE-2026-96641

MediumCVSS 6.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.35%

28th percentile - higher than 28% of all known CVEs

Summary

Pillow, a Python imaging library, prior to 13.0.0 has a flaw in PILfont text-width accumulation in src/_imaging.c where positive glyph advances are checked against INT_MAX but negative advances are not checked against INT_MIN. Repeating a signed 16-bit advance of -32768 can execute a signed C integer overflow in xsize += dx, producing a large positive width from a negative mathematical result, which can cause logic-integrity errors or resource consumption in applications using getlength(), getsize(), or derived layout, quota, serialization, or allocation calculations.

Risk Assessment

Applications processing untrusted images or text data may experience logic-integrity errors or excessive resource consumption, potentially leading to denial of service or incorrect behavior. The high-level mask path commonly retains a decompression-bomb check, but other paths may be vulnerable.

Recommendation

Update Pillow to version 13.0.0 or later. Avoid processing untrusted PILfont images without additional resource limits.

Other vulnerabilities in Pillow

See all
Original NVD description (English source)

Pillow is a Python imaging library. Prior to 13.0.0, PILfont text-width accumulation in src/_imaging.c checks positive glyph advances against INT_MAX but does not check negative advances against INT_MIN. Repeating a signed 16-bit advance of -32768 can therefore execute a signed C integer overflow in xsize += dx, producing a large positive width from a negative mathematical result. Applications that use getlength(), getsize(), or derived layout, quota, serialization, or allocation calculations can experience logic-integrity errors or resource consumption, while the high-level mask path commonly retains a decompression-bomb check. This issue is fixed in version 13.0.0.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS