Pillow has 16 CVEs on record between 2024 and 2026. Disclosure cadence is accelerating: 9 in the last 90 days against 5 in the 90 before. The busiest recent month was October 2026 with 9. The median CVSS is 8.1 (high), with 1 rated critical. None have a confirmed exploitation report. The dominant weakness classes are CWE-122 (3) and CWE-125 (3).
CVEs per month
Last 12 months, by publish date
- Exploited share
- 0% vs 1% corpus
- Median CVSS
- 8.1
- Publish → KEV
- —
- Last 90 days
- 9 prev 5
Worst active — by depth score
CVE-2026-112896High· 8.8Pillow: TIFF encoder ColorMap plane-size mismatch causes a heap out-of-bounds read60CVE-2026-112400High· 8.7Pillow: GIF seek keeps rejected size after DecompressionBombError, allowing DoS60CVE-2026-112397High· 8.7Pillow: Out-of-bounds access in _imagingmorph on a zero-width image60CVE-2026-112403Critical· 9.2Pillow: Heap buffer overflow in ImagingJpegDecode51CVE-2026-112897High· 8.7Pillow: TiffDecode returns uninitialized memory as pixels for short JPEG strips48
Pillow vulnerabilities
CVEs affecting Pillow, newest first. Open any entry for full detail, references, and exploit status.
16 CVEsRSS
CVE-2026-112899MediumPillow: EPS load(scale) lets Ghostscript render past the decompression bomb limit
Pillow: EPS load(scale) lets Ghostscript render past the decompression bomb limit
CVE-2026-112895High· 8.7Pillow: Unbounded recursion parsing a PDF page tree or trailer chain (incomplete fix for CVE-2026-42310)
Pillow: Unbounded recursion parsing a PDF page tree or trailer chain (incomplete fix for CVE-2026-42310)
CVE-2026-112897High· 8.7Pillow: TiffDecode returns uninitialized memory as pixels for short JPEG strips
Pillow: TiffDecode returns uninitialized memory as pixels for short JPEG strips
CVE-2026-112896High· 8.8PoCPillow: TIFF encoder ColorMap plane-size mismatch causes a heap out-of-bounds read
Pillow: TIFF encoder ColorMap plane-size mismatch causes a heap out-of-bounds read
CVE-2026-112395Medium· 6.5Pillow tiled-TIFF decoder reads past tile buffer in copy4 (Unpack.c:1290)
Pillow tiled-TIFF decoder reads past tile buffer in copy4 (Unpack.c:1290)
CVE-2026-112400High· 8.7PoCPillow: GIF seek keeps rejected size after DecompressionBombError, allowing DoS
Pillow: GIF seek keeps rejected size after DecompressionBombError, allowing DoS
CVE-2026-112403Critical· 9.2Pillow: Heap buffer overflow in ImagingJpegDecode
Pillow: Heap buffer overflow in ImagingJpegDecode
CVE-2026-112404High· 8.8Pillow: OOB read in TiffDecode.c tile and RGBA paths leaks heap memory into pixels
Pillow: OOB read in TiffDecode.c tile and RGBA paths leaks heap memory into pixels
CVE-2026-112397High· 8.7PoCPillow: Out-of-bounds access in _imagingmorph on a zero-width image
Pillow: Out-of-bounds access in _imagingmorph on a zero-width image
CVE-2026-59198Medium· 6.5Pillow TGA RLE encoder can serialize up to ~57 KB of adjacent heap data into generated images
Pillow TGA RLE encoder can serialize up to ~57 KB of adjacent heap data into generated images
CVE-2026-59203Medium· 5.3Pillow EpsImagePlugin negative %%BeginBinary byte count causes infinite loop denial of service
Pillow EpsImagePlugin negative %%BeginBinary byte count causes infinite loop denial of service
CVE-2026-55798Medium· 4.5Pillow: WindowsViewer.get_command() OS command injection via unescaped shell path
Pillow: WindowsViewer.get_command() OS command injection via unescaped shell path
CVE-2026-54059High· 7.5Pillow `PcfFontFile._load_bitmaps()`: `Image.frombytes()` called without `_decompression_bomb_check()` — bomb protection bypass via PCF f…
Pillow `PcfFontFile._load_bitmaps()`: `Image.frombytes()` called without `_decompression_bomb_check()` — bomb protection bypass via PCF font loading
CVE-2026-42309Medium· 5.5Pillow has a heap buffer overflow with nested list coordinates
Pillow has a heap buffer overflow with nested list coordinates
CVE-2024-28219Medium· 6.7Pillow buffer overflow vulnerability
Pillow buffer overflow vulnerability
CVE-2023-50447High· 8.1Arbitrary Code Execution in Pillow
Arbitrary Code Execution in Pillow