Python-Pillow Pillow vulnerabilities
58 known vulnerabilities affecting python-pillow/pillow.
Total CVEs
58
CISA KEV
0
Public exploits
0
Exploited in wild
0
Severity breakdown
CRITICAL6HIGH39MEDIUM13
Vulnerabilities
Page 2 of 3
CVE-2026-96640P3HIGHCVSS 8.2v>= 5.1.0, < 13.0.02026-10-21
CVE-2026-96640 [HIGH] CWE-400 CVE-2026-96640: Pillow is a Python imaging library. From 5.1.0 until 13.0.0, PdfParser.linearize_page_tree() in src/
Pillow is a Python imaging library. From 5.1.0 until 13.0.0, PdfParser.linearize_page_tree() in src/PIL/PdfParser.py treats a PDF /Pages graph as a tree without tracking duplicate indirect references. When Image.save(..., format="PDF", append=True) processes an attacker-controlled existing PDF whose /Kids arrays repeatedly reference the same child /Pa
nvd
CVE-2026-112395P3HIGHCVSS 8.2v>= 8.2.0, < 13.0.02026-10-19
CVE-2026-112395 [HIGH] CWE-122 CVE-2026-112395: Pillow is a Python imaging library. From 8.2.0 until 13.0.0, Pillow's tiled-TIFF decoder can read pa
Pillow is a Python imaging library. From 8.2.0 until 13.0.0, Pillow's tiled-TIFF decoder can read past the tile buffer while copying four-byte pixels. In _decodeTile, libtiff can return a tile allocation smaller than the required row stride multiplied by the tile length, and Pillow's stride-and-copy loop walks beyond that allocation. An attacker can
nvd
CVE-2026-112396P3HIGHCVSS 7.5v>= 11.3.0, < 13.0.02026-10-19
CVE-2026-112396 [HIGH] CWE-416 CVE-2026-112396: Pillow is a Python imaging library. From 11.3.0 until 13.0.0, Pillow has a heap use-after-free when
Pillow is a Python imaging library. From 11.3.0 until 13.0.0, Pillow has a heap use-after-free when libtiff rejects a tag while encoding TIFF data to an in-memory buffer. When an application saves attacker-influenced TIFF tags to BytesIO, libtiff can reject a tag during encoding in ImagingLibTiffEncode; the error path then frees the output buffer wit
nvd
CVE-2026-59197P3HIGHCVSS 8.2fixed in 12.3.02026-07-14
CVE-2026-59197 [HIGH] CWE-190 CVE-2026-59197: Pillow is a Python imaging library. Prior to 12.3.0, Pillow's public rank-filter API can trigger a n
Pillow is a Python imaging library. Prior to 12.3.0, Pillow's public rank-filter API can trigger a native heap out-of-bounds write when given a very large odd filter size because ImageFilter.RankFilter.filter() calls image.expand(size // 2, size // 2) before rank-filter size validation and ImagingExpand() computes output dimensions with unchecked sign
nvd
CVE-2026-112893P3HIGHCVSS 8.2v>= 10.0.0, < 13.0.02026-10-19
CVE-2026-112893 [HIGH] CWE-457 CVE-2026-112893: Pillow is a Python imaging library. From 10.0.0 until 13.0.0, Pillow can free an invalid glyph point
Pillow is a Python imaging library. From 10.0.0 until 13.0.0, Pillow can free an invalid glyph pointer during FreeType rendering with an active stroker. If FT_Load_Glyph fails, cleanup may call FT_Done_Glyph on an uninitialized or stale glyph variable. An attacker can supply a malformed font as untrusted bytes to an application that draws text with
nvd
CVE-2026-25990P3HIGHCVSS 7.5v>= 10.3.0, < 12.1.12026-02-11
CVE-2026-25990 [HIGH] CWE-787 CVE-2026-25990: Pillow is a Python imaging library. From 10.3.0 to before 12.1.1, an out-of-bounds write may be trig
Pillow is a Python imaging library. From 10.3.0 to before 12.1.1, an out-of-bounds write may be triggered when loading a specially crafted PSD image. This vulnerability is fixed in 12.1.1.
nvd
CVE-2026-59198P3HIGHCVSS 7.5v>= 5.2.0, < 12.3.02026-07-14
CVE-2026-59198 [HIGH] CWE-125 CVE-2026-59198: Pillow is a Python imaging library. From 5.2.0 until 12.3.0, Pillow's TGA RLE encoder reads past its
Pillow is a Python imaging library. From 5.2.0 until 12.3.0, Pillow's TGA RLE encoder reads past its packed row buffer when saving a mode 1 image with TGA RLE compression, allowing adjacent process heap bytes to be copied into the generated TGA file. This issue is fixed in version 12.3.0.
nvd
CVE-2026-40192P3HIGHCVSS 7.5v>= 10.3.0, < 12.2.02026-04-15
CVE-2026-40192 [HIGH] CWE-400 CVE-2026-40192: Pillow is a Python imaging library. Versions 10.3.0 through 12.1.1 did not limit the amount of GZIP-
Pillow is a Python imaging library. Versions 10.3.0 through 12.1.1 did not limit the amount of GZIP-compressed data read when decoding a FITS image, making them vulnerable to decompression bomb attacks. A specially crafted FITS file could cause unbounded memory consumption, leading to denial of service (OOM crash or severe performance degradation). If
nvd
CVE-2026-112390P3HIGHCVSS 7.5v>= 7.2.0, < 13.0.02026-10-19
CVE-2026-112390 [HIGH] CWE-835 CVE-2026-112390: Pillow is a Python imaging library. From 7.2.0 until 13.0.0, Pillow can enter an infinite loop while
Pillow is a Python imaging library. From 7.2.0 until 13.0.0, Pillow can enter an infinite loop while determining the frame count of a MIC image. MicImageFile inherits TIFF frame traversal, but MicImageFile.tell reports the OLE stream index and its seek() resets TIFF frame state, so an embedded TIFF with at least three IFDs never advances. When an ap
nvd
CVE-2026-112391P3HIGHCVSS 7.5v>= 5.1.0, < 13.0.02026-10-19
CVE-2026-112391 [HIGH] CWE-835 CVE-2026-112391: Pillow is a Python imaging library. From 5.1.0 until 13.0.0, Pillow's PdfParser.get_value() can recu
Pillow is a Python imaging library. From 5.1.0 until 13.0.0, Pillow's PdfParser.get_value() can recurse without a limit while reading nested PDF objects. The parser follows attacker-controlled arrays and dictionaries when an existing PDF is opened for append. An attacker can provide a deeply nested PDF to an application that saves an image with PDF
nvd
CVE-2026-112392P3HIGHCVSS 7.5fixed in 13.0.02026-10-19
CVE-2026-112392 [HIGH] CWE-476 CVE-2026-112392: Pillow is a Python imaging library. Prior to 13.0.0, Pillow's rank-based filters can dereference inv
Pillow is a Python imaging library. Prior to 13.0.0, Pillow's rank-based filters can dereference invalid image storage for a zero-size image. ImagingExpand() allocates a non-empty output and then faults while replicating edges by reading the first pixel from empty input storage; ImagingRankFilter is never reached. An attacker can supply or cause cre
nvd
CVE-2026-55379P3HIGHCVSS 7.5fixed in 12.3.02026-07-06
CVE-2026-55379 [HIGH] CWE-789 CVE-2026-55379: Pillow is a Python imaging library. Prior to 12.3.0, PIL/BdfFontFile.py bdf_char() read the BBX widt
Pillow is a Python imaging library. Prior to 12.3.0, PIL/BdfFontFile.py bdf_char() read the BBX width and height field from a BDF font file and passed attacker-controlled dimensions to Image.new() without calling Image._decompression_bomb_check(), bypassing Pillow's documented decompression bomb protection and allowing excessive memory allocation. Thi
nvd
CVE-2026-112891P3MEDIUMCVSS 6.9v>= 9.2.0, < 13.0.02026-10-19
CVE-2026-112891 [MEDIUM] CWE-407 CVE-2026-112891: Pillow is a Python imaging library. From 9.2.0 until 13.0.0, Pillow performs quadratic copying when
Pillow is a Python imaging library. From 9.2.0 until 13.0.0, Pillow performs quadratic copying when saving a GIF with a long comment. _get_global_header() repeatedly copies portions of comment data while assembling the global header, including comments retained from an untrusted input image. An attacker can supply an image with a large GIF comment
nvd
CVE-2026-55380P3HIGHCVSS 7.5fixed in 12.3.02026-07-06
CVE-2026-55380 [HIGH] CWE-789 CVE-2026-55380: Pillow is a Python imaging library. Prior to 12.3.0, PIL/GdImageFile.py GdImageFile._open() read ima
Pillow is a Python imaging library. Prior to 12.3.0, PIL/GdImageFile.py GdImageFile._open() read image dimensions from the GD 2.x header and stored them in self._size without calling Image._decompression_bomb_check(), allowing a crafted .gd file to trigger excessive C-heap allocation when loaded. This issue is fixed in version 12.3.0.
nvd
CVE-2026-54059P3HIGHCVSS 7.5fixed in 12.3.02026-07-06
CVE-2026-54059 [HIGH] CWE-789 CVE-2026-54059: Pillow is a Python imaging library. Prior to 12.3.0, PIL/PcfFontFile.py _load_bitmaps() read glyph d
Pillow is a Python imaging library. Prior to 12.3.0, PIL/PcfFontFile.py _load_bitmaps() read glyph dimensions from the PCF METRICS section and passed them directly to Image.frombytes() without calling Image._decompression_bomb_check(), allowing crafted PCF font data to cause excessive memory allocation. This issue is fixed in version 12.3.0.
nvd
CVE-2026-59205P3HIGHCVSS 7.5fixed in 12.3.02026-07-14
CVE-2026-59205 [HIGH] CWE-787 CVE-2026-59205: Pillow is a Python imaging library. Prior to 12.3.0, Pillow's ImageCms.ImageCmsTransform.apply(im, i
Pillow is a Python imaging library. Prior to 12.3.0, Pillow's ImageCms.ImageCmsTransform.apply(im, imOut) API can trigger controlled native heap corruption when the caller supplies an output image whose mode does not match the transform's declared output mode. This issue is fixed in version 12.3.0.
nvd
CVE-2026-59199P3HIGHCVSS 7.5fixed in 12.3.02026-07-14
CVE-2026-59199 [HIGH] CWE-190 CVE-2026-59199: Pillow is a Python imaging library. Prior to 12.3.0, Pillow public image coordinate APIs can trigger
Pillow is a Python imaging library. Prior to 12.3.0, Pillow public image coordinate APIs can trigger a native heap out-of-bounds write when given coordinates near the signed 32-bit integer limits in Image.paste(), Image.crop(), or Image.alpha_composite(). This issue is fixed in version 12.3.0.
nvd
CVE-2026-59204P3HIGHCVSS 7.5v>= 8.2.0, < 12.3.02026-07-14
CVE-2026-59204 [HIGH] CWE-789 CVE-2026-59204: Pillow is a Python imaging library. From 8.2.0 through 12.2.0, src/libImaging/Jpeg2KDecode.c accumul
Pillow is a Python imaging library. From 8.2.0 through 12.2.0, src/libImaging/Jpeg2KDecode.c accumulates total_component_width across every tile in a JPEG2000 image instead of recomputing it per tile, allowing a crafted tiled JPEG2000 file to force substantially higher transient memory usage and trigger out-of-memory failures during decoding. This iss
nvd
CVE-2026-42311P3HIGHCVSS 7.8v>= 10.3.0, < 12.2.02026-05-09
CVE-2026-42311 [HIGH] CWE-190 CVE-2026-42311: Pillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malic
Pillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. This issue has been patched in version 12.2.0.
nvd
CVE-2026-54060P3HIGHCVSS 7.5fixed in 12.3.02026-07-06
CVE-2026-54060 [HIGH] CWE-789 CVE-2026-54060: Pillow is a Python imaging library. Prior to 12.3.0, PIL/FontFile.py FontFile.compile() assembled pe
Pillow is a Python imaging library. Prior to 12.3.0, PIL/FontFile.py FontFile.compile() assembled per-glyph images into a combined bitmap with Image.new("1", (xsize, ysize)) without calling Image._decompression_bomb_check(), allowing a font to trigger excessive allocation during conversion or saving. This issue is fixed in version 12.3.0.
nvd