cbcvebase.

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 1 of 3
CVE-2026-112900P2CRITICALCVSS 9.2v>= 2.6.0, < 13.0.02026-10-19
CVE-2026-112900 [CRITICAL] CWE-78 CVE-2026-112900: Pillow is a Python imaging library. From 2.6.0 until 13.0.0, Pillow is vulnerable to argument inject Pillow is a Python imaging library. From 2.6.0 until 13.0.0, Pillow is vulnerable to argument injection when invoking Ghostscript for EPS input. EpsImagePlugin.Ghostscript passes a caller-controlled input filename after -f without converting it to a safe absolute path, so a name beginning with a hyphen can be interpreted as a Ghostscript option.
nvd
CVE-2026-112393P2CRITICALCVSS 9.8v>= 2.0.0, < 13.0.02026-10-19
CVE-2026-112393 [CRITICAL] CWE-122 CVE-2026-112393: Pillow is a Python imaging library. From 2.0.0 until 13.0.0, Pillow has a heap buffer overflow and s Pillow is a Python imaging library. From 2.0.0 until 13.0.0, Pillow has a heap buffer overflow and stale-heap disclosure in _tiffWriteProc when saving compressed TIFF data through libtiff to a target without a usable fileno(), such as BytesIO. The callback sizes its allocation from the prior buffer size instead of the current write position, all
nvd
CVE-2026-112403P3CRITICALCVSS 9.2fixed in 13.0.02026-10-19
CVE-2026-112403 [CRITICAL] CWE-122 CVE-2026-112403: Pillow is a Python imaging library. Prior to 13.0.0, Pillow's JPEG decoder can write a full-width sc Pillow is a Python imaging library. Prior to 13.0.0, Pillow's JPEG decoder can write a full-width scanline into a buffer sized for a requested draft scale. ImagingJpegDecode does not verify libjpeg's actual output width and component count after scaling is requested, and an 8-bit lossless SOF3 JPEG decoded by a build linked to libjpeg-turbo 3.x
nvd
CVE-2026-112398P3CRITICALCVSS 9.2fixed in 13.0.02026-10-19
CVE-2026-112398 [CRITICAL] CWE-122 CVE-2026-112398: Pillow is a Python imaging library. Prior to 13.0.0, Pillow's FlashPix JPEG-tile decoder can write d Pillow is a Python imaging library. Prior to 13.0.0, Pillow's FlashPix JPEG-tile decoder can write decoded scanlines beyond the allocated tile buffer. FlashPix (FPX) JPEG decoding selects raw mode LA with two bytes per pixel, while an unrecognized JPEG mode can be decoded as JCS_UNKNOWN with four components, causing ImagingJpegDecode to write fo
nvd
CVE-2026-96639P3CRITICALCVSS 9.8v>= 11.0.0, < 13.0.02026-10-21
CVE-2026-96639 [CRITICAL] CWE-125 CVE-2026-96639: Pillow is a Python imaging library. From 11.0.0 until 13.0.0, multi-frame loaders can retain an Imag Pillow is a Python imaging library. From 11.0.0 until 13.0.0, multi-frame loaders can retain an ImagingCore allocation created for a narrow frame mode while a later frame of the same dimensions changes the logical mode and decoder tiles to wider RGB or CMYK data. ImageFile.load_prepare() reuses the stale native storage because _im is non-null with
nvd
CVE-2026-54058P3CRITICALCVSS 9.1fixed in 12.3.02026-07-14
CVE-2026-54058 [CRITICAL] CWE-125 CVE-2026-54058: Pillow is a Python imaging library. Prior to 12.3.0, when Pillow loads an uncompressed McIdas AREA i Pillow is a Python imaging library. Prior to 12.3.0, when Pillow loads an uncompressed McIdas AREA image from a filename through the mmap raw codec path, attacker-controlled header words can set a row stride smaller than the natural row width, causing pixel access such as Image.tobytes(), getpixel, convert, or save to read beyond the mapped region
nvd
CVE-2026-112404P3HIGHCVSS 8.8v>= 8.1.0, < 13.0.02026-10-19
CVE-2026-112404 [HIGH] CWE-126 CVE-2026-112404: Pillow is a Python imaging library. From 8.1.0 until 13.0.0, Pillow's TIFF tile and RGBA decode path Pillow is a Python imaging library. From 8.1.0 until 13.0.0, Pillow's TIFF tile and RGBA decode paths can read beyond row data produced by libtiff. In _decodeTile and the RGBA unpacker path, when Pillow and libtiff interpret duplicated PhotometricInterpretation or BitsPerSample tags differently, Pillow does not verify that the required input row fit
nvd
CVE-2026-112894P3HIGHCVSS 8.7v>= 5.1.0, < 13.0.02026-10-19
CVE-2026-112894 [HIGH] CWE-407 CVE-2026-112894: Pillow is a Python imaging library. From 5.1.0 until 13.0.0, Pillow takes quadratic time to reserve Pillow is a Python imaging library. From 5.1.0 until 13.0.0, Pillow takes quadratic time to reserve PDF object identifiers when saving many frames with save_all enabled. PdfParser.next_object_id() repeatedly rebuilds and scans all previously reserved identifiers for every object. An attacker can supply a multi-frame image, including a small APNG with
nvd
CVE-2026-112397P3HIGHCVSS 8.7fixed in 13.0.02026-10-19
CVE-2026-112397 [HIGH] CWE-787 CVE-2026-112397: Pillow is a Python imaging library. Prior to 13.0.0, Pillow's ImageMorph.MorphOp.apply() can access Pillow is a Python imaging library. Prior to 13.0.0, Pillow's ImageMorph.MorphOp.apply() can access memory before a row buffer for a zero-width image. PPM and PGM input can create an image with width zero, and the native morphology routine indexes outrow[width - 1] without rejecting that geometry. An attacker can supply such an image to an applicatio
nvd
CVE-2026-112896P3HIGHCVSS 8.8fixed in 13.0.02026-10-19
CVE-2026-112896 [HIGH] CWE-125 CVE-2026-112896: Pillow is a Python imaging library. Prior to 13.0.0, Pillow's TIFF encoder can read beyond a ColorMa Pillow is a Python imaging library. Prior to 13.0.0, Pillow's TIFF encoder can read beyond a ColorMap buffer when retained TIFF metadata has a plane size inconsistent with BitsPerSample. A small TIFF can be opened normally and then retain a crafted ColorMap that is reused when the image is saved. An application that re-encodes the attacker's TIFF wi
nvd
CVE-2026-112405P3HIGHCVSS 8.7v>= 12.0.0, < 13.0.02026-10-19
CVE-2026-112405 [HIGH] CWE-476 CVE-2026-112405: Pillow is a Python imaging library. From 12.0.0 until 13.0.0, Pillow's Image.merge() can dereference Pillow is a Python imaging library. From 12.0.0 until 13.0.0, Pillow's Image.merge() can dereference a null image8 plane. Validation skips the first input band, allowing a 32-bit integer or floating-point image backed by image32 storage to be merged as a narrower multiband image. A crafted IPTC file can reach this path when an application opens and
nvd
CVE-2026-112892P3HIGHCVSS 8.7v>= 4.1.0, < 13.0.02026-10-19
CVE-2026-112892 [HIGH] CWE-409 CVE-2026-112892: Pillow is a Python imaging library. From 4.1.0 until 13.0.0, Pillow's MSP RLE decoder can expand a s Pillow is a Python imaging library. From 4.1.0 until 13.0.0, Pillow's MSP RLE decoder can expand a small file into an unbounded in-memory buffer. The decoder writes run-length output to BytesIO without limiting expansion to the declared image size. An attacker can supply a crafted MSP image to an application that loads its pixels. This can exhaust m
nvd
CVE-2026-112402P3HIGHCVSS 8.7fixed in 13.0.02026-10-19
CVE-2026-112402 [HIGH] CWE-416 CVE-2026-112402: Pillow is a Python imaging library. Prior to 13.0.0, Pillow can double free image memory when Imagin Pillow is a Python imaging library. Prior to 13.0.0, Pillow can double free image memory when ImagingScaleAffine encounters a selective allocation failure. The affected fast path handles Transform.EXTENT or pure scale-and-translate Transform.AFFINE operations with the default NEAREST resampling. The output image allocation must succeed while the add
nvd
CVE-2026-112897P3HIGHCVSS 8.7v>= 5.3.0, < 13.0.02026-10-19
CVE-2026-112897 [HIGH] CWE-908 CVE-2026-112897: Pillow is a Python imaging library. From 5.3.0 until 13.0.0, Pillow can return uninitialized memory Pillow is a Python imaging library. From 5.3.0 until 13.0.0, Pillow can return uninitialized memory as pixels when libtiff performs a short decode of JPEG-compressed or Group 4 fax TIFF data. The _decodeStrip and _decodeTile buffers can be larger than the bytes written by libtiff, but Pillow converts the expected rows without clearing the unwritten t
nvd
CVE-2026-112400P3HIGHCVSS 8.7v>= 9.2.0, < 13.0.02026-10-19
CVE-2026-112400 [HIGH] CWE-400 CVE-2026-112400: Pillow is a Python imaging library. From 9.2.0 until 13.0.0, Pillow can retain a rejected GIF frame Pillow is a Python imaging library. From 9.2.0 until 13.0.0, Pillow can retain a rejected GIF frame size after a decompression-bomb exception. In GifImageFile._seek, a crafted GIF can leave rejected dimensions stored after Image.DecompressionBombError; if an application catches that exception and continues processing the same image object, later seek
nvd
CVE-2026-112895P3HIGHCVSS 8.7v>= 5.1.0, < 13.0.02026-10-19
CVE-2026-112895 [HIGH] CWE-674 CVE-2026-112895: Pillow is a Python imaging library. From 5.1.0 until 13.0.0, Pillow can exhaust resources while pars Pillow is a Python imaging library. From 5.1.0 until 13.0.0, Pillow can exhaust resources while parsing an existing PDF during an append operation. PdfParser follows page-tree child references without cycle or duplication tracking and follows previous-trailer chains with only an exact repeated-offset guard, so deep or cyclic page trees and long chai
nvd
CVE-2026-112406P3HIGHCVSS 8.7v>= 5.1.0, < 13.0.02026-10-19
CVE-2026-112406 [HIGH] CWE-835 CVE-2026-112406: Pillow is a Python imaging library. From 5.1.0 until 13.0.0, Pillow can enter an infinite loop while Pillow is a Python imaging library. From 5.1.0 until 13.0.0, Pillow can enter an infinite loop while rewriting PDF pages. PdfParser.rewrite_pages() follows Parent relationships without detecting a cycle in the page tree. An attacker can supply a cyclic PDF to an application that appends an image to that PDF. This can hold the worker at full CPU and
nvd
CVE-2026-112399P3HIGHCVSS 8.7v>= 8.1.0, < 13.0.02026-10-19
CVE-2026-112399 [HIGH] CWE-789 CVE-2026-112399: Pillow is a Python imaging library. From 8.1.0 until 13.0.0, Pillow can allocate an APNG disposal ba Pillow is a Python imaging library. From 8.1.0 until 13.0.0, Pillow can allocate an APNG disposal background at the full canvas size before applying the decompression-bomb check. A crafted APNG with a small first frame, a very large declared canvas, and background disposal or first-frame OP_PREVIOUS reaches PngImageFile._seek while Image.open() posi
nvd
CVE-2026-112394P3HIGHCVSS 8.2fixed in 13.0.02026-10-19
CVE-2026-112394 [HIGH] CWE-126 CVE-2026-112394: Pillow is a Python imaging library. Prior to 13.0.0, Pillow's P;2L and P;4L raw decoders can read pa Pillow is a Python imaging library. Prior to 13.0.0, Pillow's P;2L and P;4L raw decoders can read past the end of an input buffer. ImagingRawDecode calculates a packed-pixel row size, while the unpackers read separately padded bit planes. A caller can supply a buffer and image dimensions whose accepted size is smaller than the unpacker's actual foot
nvd
CVE-2026-96778P3HIGHCVSS 7.7v>= 9.4.0, < 13.0.02026-10-21
CVE-2026-96778 [HIGH] CWE-787 CVE-2026-96778: Pillow is a Python imaging library. From 9.4.0 until 13.0.0, ImagingJpegEncode() in src/libImaging/J Pillow is a Python imaging library. From 9.4.0 until 13.0.0, ImagingJpegEncode() in src/libImaging/JpegEncode.c can call jpeg_write_marker() for a JPEG COM comment when an ICC profile has exactly filled the 65536-byte encoder buffer. libjpeg writes one byte before checking the exhausted free_in_buffer counter, which then wraps and permits the attacker
nvd
Python-Pillow Pillow vulnerabilities | cvebase