Pillow: Reachable undefined behavior in native integer operations, potentially leading to denial of service or logic integrity compromise
At a glance
Severity
MEDIUM 6.5
EPSS
EPSS 0.35 % · percentile 28 (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, 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.
GHSA-4rm8-3hmm-39fg — Pillow: Reachable undefined behavior in native integer operations, potentially leading to denial of service or logic integrity compromise
PYSEC-2026-4340 — 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 n