A NULL pointer dereference vulnerability exists in the python-pillow Pillow library's Image.merge() function when processing certain single-band images of mode 'I' or 'F'. The function skips validation for band 0, leading to a crash when a crafted file is loaded via the IPTC plugin. This causes a hard crash of the process, not a catchable Python exception.
Pillow, a Python imaging library, contains a buffer over-read vulnerability in its TIFF tile and RGBA decode paths in versions from 8.1.0 up to but not including 13.0.0. This flaw arises when Pillow and libtiff interpret certain TIFF tags differently, leading Pillow to read beyond the intended row data. Exploiting this can result in exposure of adjacent heap data or a crash. The issue is resolved in version 13.0.0.
A heap-based buffer overflow vulnerability exists in Pillow's JPEG decoder prior to version 13.0.0. The flaw occurs when decoding certain 8-bit lossless SOF3 JPEG images using libjpeg-turbo 3.x, which can ignore requested downscaling geometry, leading to buffer overflow. This can cause heap corruption, application crashes, or potentially allow code execution. The issue is fixed in Pillow version 13.0.0.
CVE-2026-112402 is a high-severity double free vulnerability in the python-pillow Pillow library affecting versions prior to 13.0.0. The flaw occurs in the ImagingScaleAffine function during Image.transform() when a memory allocation for a lookup table fails, leading to a double free of the output image's memory. This causes a crash (SIGSEGV) and heap corruption in processes with memory limits or 32-bit environments. The vulnerability has been present since Pillow 1.0 and is fixed in version 13.0.0.
A vulnerability in the python-pillow Pillow library allows a crafted PPM or PGM image file to declare a width of 0, which is accepted and leads to an out-of-bounds write in the native morphology operation code. This causes a crash and potential memory corruption when running morphology operations on such images.
CVE-2026-112392 is a NULL pointer dereference vulnerability in the python-pillow Pillow library affecting versions prior to 13.0.0. The flaw occurs in the ImagingExpand function when applying median, minimum, maximum, or rank filters to zero-width or zero-height images, causing the Python process to crash with a segmentation fault. This happens because the function attempts to read edge pixels without verifying that the image contains any pixels, leading to a NULL pointer dereference. The issue can be triggered by supplying crafted crop coordinates or multi-page TIFF files with zero-length pages. The vulnerability results in denial of service by crashing the process, with no memory corruption or data disclosure. A fix is available in Pillow version 13.0.0.
CVE-2026-112401 is an inefficient algorithmic complexity vulnerability in the python-pillow Pillow library affecting GIF comment processing. The flaw causes Image.open() to consume CPU time quadratically relative to the size of crafted GIF comment extensions, leading to denial-of-service (DoS) via processor exhaustion. This occurs because the code repeatedly concatenates immutable bytes objects without size limits, causing excessive copying. The issue affects Pillow versions from 5.4.0 up to but not including 13.0.0 and was fixed in version 13.0.0.
CVE-2026-112400 is a high-severity vulnerability in the python-pillow Pillow library affecting versions from 9.2.0 up to but not including 13.0.0. It involves uncontrolled resource consumption due to a flaw in GIF frame size handling during decompression bomb checks. An attacker can craft a small GIF that causes Pillow to allocate gigabytes of memory, leading to denial of service by exhausting system memory. The issue arises because the image object retains a rejected oversized frame size after a DecompressionBombError, causing subsequent operations to allocate memory based on this stale size. This flaw does not cause memory corruption but can crash or kill the process due to out-of-memory conditions. The vulnerability was introduced in version 9.2.0 and fixed in version 13.0.0.
Pillow, a Python imaging library, has a vulnerability in versions from 8.1.0 up to but not including 13.0.0 where it can allocate excessive memory when processing crafted APNG images. This occurs because the library allocates memory for a full canvas size before performing decompression-bomb checks, potentially leading to memory exhaustion and denial of service. The issue is fixed in version 13.0.0.
A heap-based buffer overflow vulnerability exists in the FlashPix JPEG-tile decoder of the Python Pillow library prior to version 13.0.0. This occurs when decoding crafted OLE2 FlashPix files, leading to writing beyond allocated buffer boundaries. The flaw can corrupt heap memory and potentially allow arbitrary code execution. The issue is fixed in Pillow version 13.0.0.
A use-after-free vulnerability exists in the python-pillow Pillow library when saving images as TIFF to an in-memory buffer. If libtiff rejects a tag during encoding, the encoder frees its output buffer but leaves the TIFF handle open. Later, during cleanup, a write occurs into the freed buffer, causing a crash and potential memory corruption. This affects Pillow versions from 11.3.0 up to but not including 13.0.0. The issue can lead to denial of service or potentially remote code execution when processing attacker-influenced images.
A heap-based buffer overflow vulnerability exists in the tiled-TIFF decoder of the Python Pillow library versions 8.2.0 through 12.x. This flaw allows reading beyond the allocated tile buffer when processing crafted tiled TIFF images, potentially exposing adjacent heap data or causing a crash. The issue is resolved in version 13.0.0.
CVE-2026-112394 is a buffer over-read vulnerability in the python-pillow Pillow library prior to version 13.0.0. The issue occurs in the P;2L and P;4L raw decoders, where the unpackers can read beyond the end of an input buffer due to a mismatch between the calculated packed-pixel row size and the actual unpacked bit planes. This can lead to disclosure of up to three adjacent heap bytes or cause a process crash. The vulnerability is fixed in Pillow version 13.0.0.
CVE-2026-112393 is a critical heap-based buffer overflow vulnerability in the Pillow library when saving TIFF images to in-memory destinations like io.BytesIO. The flaw occurs in the _tiffWriteProc function, which incorrectly reallocates memory based on the current buffer size rather than the write position, allowing writes past the allocated heap buffer. This can cause memory corruption and potential data leakage of heap contents. The vulnerability affects Pillow versions from 2.0.0 up to but not including 13.0.0 and was introduced in 2013. It can be triggered by processing attacker-controlled TIFF images with large out-of-line tags or embedded ICC profiles. The issue does not affect saving TIFF images to real files. A fix is available in Pillow 13.0.0.
A recursion depth check in the PdfParser.get_value() method of python-pillow's Pillow library is ineffective due to a default parameter value of -1 that never triggers the recursion limit guard. This allows crafted PDF files with deeply nested objects to cause a RecursionError when appending an image to an existing PDF using Image.save(..., format="PDF", append=True). The issue affects Pillow versions from 5.1.0 up to but not including 13.0.0 and is fixed in version 13.0.0.
CVE-2026-112390 is an infinite loop vulnerability in the python-pillow library's MIC image plugin. It occurs when processing a crafted Microsoft Image Composer (MIC) file containing an embedded TIFF with three or more image file directories (IFDs). The flaw causes the n_frames property to loop indefinitely at 100% CPU without raising exceptions or increasing memory usage. This affects Pillow versions from 7.2.0 up to but not including 13.0.0 when the optional olefile package is installed. The issue was introduced in April 2020 and fixed in version 13.0.0.
A high-severity out-of-bounds read vulnerability exists in the python-pillow Pillow library prior to version 12.3.0. When loading an uncompressed McIdas AREA image via the mmap raw codec path, specially crafted header values can cause pixel access functions to read beyond the mapped memory region. This can lead to disclosure of adjacent process memory or application faults. The issue is fixed in Pillow version 12.3.0.
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 signed int arithmetic. This issue is fixed in version 12.3.0.
Pillow is a Python imaging library. From 5.1.0 until 12.3.0, PdfParser.PdfStream.decode() in PIL/PdfParser.py calls zlib.decompress() with bufsize set to the PDF stream Length field without bounding the decompressed output size, allowing a crafted FlateDecode PDF stream to exhaust memory from a small file. This issue is fixed in version 12.3.0.