{"schema_version":"1.0","report_date":"2026-10-22","generated_at":"2026-10-22T15:11:23.434409+09:00","quality":"OK","source_count":13,"observed_total":5541,"catalog_total":250,"filtered_total":21,"page":1,"limit":20,"has_next":true,"items":[{"cves":[],"epss":null,"id":"GHSA-332p-7hrc-92wf","known_exploited":false,"published_date":"2026-10-22","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"CRITICAL","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"``` ============================================================================ Heap buffer overflow in _tiffWriteProc when saving TIFF to BytesIO Location: src/libImaging/TiffDecode.c:94 in _tiffWriteProc() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ==========================================","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: Heap buffer overflow in _tiffWriteProc when saving TIFF to BytesIO","url":"https://github.com/advisories/GHSA-332p-7hrc-92wf"},{"cves":[],"epss":null,"id":"GHSA-w889-685w-c8fh","known_exploited":false,"published_date":"2026-10-22","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"CRITICAL","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"### Summary `PIL.EpsImagePlugin.Ghostscript()` builds the Ghostscript command line using the input file path (`fp.name`) **without sanitization**, placing it at `-f <infile>`. A filename beginning with `-` is interpreted by Ghostscript as an option, giving command-line argument injection; chainable","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: Argument Injection in Ghostscript call, potentially leading into RCE","url":"https://github.com/advisories/GHSA-w889-685w-c8fh"},{"cves":[],"epss":null,"id":"GHSA-22hg-r758-rrw9","known_exploited":false,"published_date":"2026-10-22","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"``` ============================================================================ Infinite loop in MIC n_frames when the embedded TIFF has 3+ IFDs Location: src/PIL/MicImagePlugin.py:86 in MicImageFile.tell() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ===========================================","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: Infinite loop in MIC n_frames when the embedded TIFF","url":"https://github.com/advisories/GHSA-22hg-r758-rrw9"},{"cves":[],"epss":null,"id":"GHSA-27h8-gf7j-v5hc","known_exploited":false,"published_date":"2026-10-22","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"``` ============================================================================ NULL dereference in ImagingExpand via rank filters on zero-size images Location: src/libImaging/Filter.c:79 in ImagingExpand() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ===========================================","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: NULL dereference in ImagingExpand via rank filters on zero-size images","url":"https://github.com/advisories/GHSA-27h8-gf7j-v5hc"},{"cves":[],"epss":null,"id":"GHSA-5xm2-6676-qcp9","known_exploited":false,"published_date":"2026-10-22","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"``` ============================================================================ APNG background disposal allocates full canvas before decompression bomb check Location: src/PIL/PngImagePlugin.py:1000 in PngImageFile._seek() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ==========================","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: APNG background disposal allocates full canvas before decompression bomb check","url":"https://github.com/advisories/GHSA-5xm2-6676-qcp9"},{"cves":[],"epss":null,"id":"GHSA-7mwm-ghpf-9vrm","known_exploited":false,"published_date":"2026-10-22","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"``` ============================================================================ Double free in ImagingScaleAffine on calloc failure via Image.transform Location: src/libImaging/Geometry.c:866 in ImagingScaleAffine() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ==================================","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: Double free in ImagingScaleAffine on calloc failure via Image.transform","url":"https://github.com/advisories/GHSA-7mwm-ghpf-9vrm"},{"cves":[],"epss":null,"id":"GHSA-cp9v-662q-vvx9","known_exploited":false,"published_date":"2026-10-22","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"### Summary `Image.merge()` checks the mode of every input band except band 0. If band 0 is a single-band `I` or `F` image, the native merge routine reads a pixel pointer that is NULL for those modes and the process crashes. The IPTC plugin reaches this from a plain `Image.open()` followed by a load","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: NULL pointer dereference in Image.merge via an unvalidated band 0","url":"https://github.com/advisories/GHSA-cp9v-662q-vvx9"},{"cves":[],"epss":null,"id":"GHSA-f2g6-542v-9j58","known_exploited":false,"published_date":"2026-10-22","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"``` ============================================================================ Infinite loop in PdfParser.rewrite_pages on page tree Parent cycle Location: src/PIL/PdfParser.py:505 in PdfParser.rewrite_pages() Commit: a707c6b21c313880d0771e54965d142dd42358b6 =======================================","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: Infinite loop in PdfParser.rewrite_pages on page tree Parent cycle","url":"https://github.com/advisories/GHSA-f2g6-542v-9j58"},{"cves":[],"epss":null,"id":"GHSA-gg2r-wvfm-q9rx","known_exploited":false,"published_date":"2026-10-22","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"### Summary The MSP RLE decoder expands run-length data into an in-memory buffer with no cap tied to the declared image size. A small file that passes the pixel-count check can force hundreds of megabytes or more of allocation when the application loads pixels. ### Details The MSP decoder writes eac","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: MSP RLE decoder expands a tiny file into unbounded memory","url":"https://github.com/advisories/GHSA-gg2r-wvfm-q9rx"},{"cves":[],"epss":null,"id":"GHSA-j4m9-6w36-pw47","known_exploited":false,"published_date":"2026-10-22","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"### Summary When text is drawn with a non-zero stroke width, Pillow creates a FreeType stroker and then loads each glyph. If `FT_Load_Glyph` fails for a glyph, the cleanup path calls `FT_Done_Glyph` on the `glyph` variable. That variable is not initialized before the first measurement loop, and in t","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: Invalid free in FreeType glyph rendering when a stroker is active","url":"https://github.com/advisories/GHSA-j4m9-6w36-pw47"},{"cves":[],"epss":null,"id":"GHSA-jg86-v3jv-hrpm","known_exploited":false,"published_date":"2026-10-22","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"``` ============================================================================ Quadratic-time DoS in PDF save_all (PdfParser.next_object_id) Location: src/PIL/PdfParser.py:629 in next_object_id() Commit: a707c6b21c313880d0771e54965d142dd42358b6 =====================================================","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: Quadratic-time DoS in PDF save_all (PdfParser.next_object_id)","url":"https://github.com/advisories/GHSA-jg86-v3jv-hrpm"},{"cves":[],"epss":null,"id":"GHSA-xvh5-g6gv-559v","known_exploited":false,"published_date":"2026-10-22","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"``` ============================================================================ Memory disclosure and segfault in libtiff encoder via crafted TIFF tags Location: src/encode.c:1014 in PyImaging_LibTiffEncoderNew() Commit: a707c6b21c313880d0771e54965d142dd42358b6 =====================================","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: Memory disclosure and segfault in libtiff encoder via crafted TIFF tags","url":"https://github.com/advisories/GHSA-xvh5-g6gv-559v"},{"cves":[],"epss":null,"id":"GHSA-8g5g-8vmr-9782","known_exploited":false,"published_date":"2026-10-21","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"CRITICAL","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"## Summary `JpegImageFile.draft()` — which `Image.thumbnail()` calls automatically — requests 1/2, 1/4 or 1/8 scaled JPEG output and shrinks `self._size` and the tile extents to match, so `_setimage()` allocates a single-row decode buffer of `ceil(W/s)` samples. `ImagingJpegDecode()` sets `cinfo.sca","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: Heap buffer overflow in ImagingJpegDecode","url":"https://github.com/advisories/GHSA-8g5g-8vmr-9782"},{"cves":[],"epss":null,"id":"CVE-2026-112408","known_exploited":false,"published_date":"2026-10-21","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"CRITICAL","source":"NVD","sources":["NVD"],"summary":"Missing verification of source of a communication channel in the default_bucket() function in Amazon SageMaker Python SDK V3 before 3.10.0 and V2 before 2.257.3 might allow remote actors to achieve code execution in the target SageMaker execution environment and obtain IAM credentials via pre-creati","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Missing verification of source of a communication channel in the default_bucket() function in Amazon SageMaker Python SDK V3 before 3.10.0 and V2 before 2.","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-112408"},{"cves":[],"epss":null,"id":"CVE-2026-96639","known_exploited":false,"published_date":"2026-10-21","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"CRITICAL","source":"NVD","sources":["NVD"],"summary":"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 ","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"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 whil","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-96639"},{"cves":[],"epss":null,"id":"GHSA-58r4-6rv3-gfh8","known_exploited":false,"published_date":"2026-10-21","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"### Summary A PPM or PGM file can declare a width of 0, which Pillow accepts, producing an image of size `(0, N)`. Passing that image to `ImageMorph.MorphOp.apply()` makes the native morphology code index a row buffer at `outrow[width - 1]`, which is `outrow[-1]` when the width is 0. The process cra","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: Out-of-bounds access in _imagingmorph on a zero-width image","url":"https://github.com/advisories/GHSA-58r4-6rv3-gfh8"},{"cves":[],"epss":null,"id":"GHSA-65qm-jvmh-6pqg","known_exploited":false,"published_date":"2026-10-21","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"``` ============================================================================ GIF seek keeps rejected size after DecompressionBombError, allowing DoS Location: src/PIL/GifImagePlugin.py:293 in GifImageFile._seek() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ==================================","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: GIF seek keeps rejected size after DecompressionBombError, allowing DoS","url":"https://github.com/advisories/GHSA-65qm-jvmh-6pqg"},{"cves":[],"epss":null,"id":"GHSA-c6hw-5grf-ff96","known_exploited":false,"published_date":"2026-10-21","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"``` ============================================================================ OOB read in TiffDecode.c tile and RGBA paths leaks heap memory into pixels Location: src/libImaging/TiffDecode.c:483 in _decodeTile() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ====================================","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: OOB read in TiffDecode.c tile and RGBA paths leaks heap memory into pixels","url":"https://github.com/advisories/GHSA-c6hw-5grf-ff96"},{"cves":[],"epss":null,"id":"GHSA-p4wg-p73j-c528","known_exploited":false,"published_date":"2026-10-21","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"### Summary When an application appends to an existing PDF with `Image.save(..., format=\"PDF\", append=True)`, Pillow parses that file with `PdfParser`. Two recursive parsers have no effective bound. `linearize_page_tree` follows `/Kids` with no visited set or depth limit, so a cyclic or duplicated p","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: Unbounded recursion parsing a PDF page tree or trailer chain (incomplete fix for CVE-2026-42310)","url":"https://github.com/advisories/GHSA-p4wg-p73j-c528"},{"cves":[],"epss":null,"id":"GHSA-pchr-8j38-3x4p","known_exploited":false,"published_date":"2026-10-21","resoarc_impact":"NOT_CONFIRMED","resoarc_response":"UNREVIEWED","response_difficulty":"unknown","severity":"HIGH","source":"GitHub Advisory","sources":["GitHub Advisory"],"summary":"## Summary A small attacker-supplied TIFF can be opened and loaded normally, then reach an out-of-bounds read when an application saves it back to TIFF with retained metadata. The fixed reproducer is a 1×1, 16-bit grayscale, PackBits-compressed TIFF containing tag 320 (ColorMap) with **768 SHORT val","technologies":[{"group":"runtime","id":"python","label":"Python"}],"title":"Pillow: TIFF encoder ColorMap plane-size mismatch causes a heap out-of-bounds read","url":"https://github.com/advisories/GHSA-pchr-8j38-3x4p"}],"caution":"Only the verified public snapshot's current item set is provided. This endpoint is not an exhaustive CVE archive."}