Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-96636— Pillow: Decompression-bomb protection bypass via multi-frame seek() in MPO and DCX (MpoImageFile.seek / DcxImageFile.seek)

Quick assessment

Affected
python-pillow Pillow
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Pillow 是一个 Python 图像处理库。在 13.0.0 版本之前, 和 在重新解析后续的 MPO 或 DCX 帧时,会直接替换 ,而不会再次执行 。攻击者可构造一个多帧图像,利用一个极小的首帧通过 的初始检查,随后在后续帧中声明一个超出限制的尺寸。通过 、 或 进行常规帧迭代时,这些后续帧会被解码,从而占用数百兆字节甚至更多的内存,导致因内存耗尽而引发的拒绝服务(DoS)攻击。该问题已在 13.0.0 版本中修复。

CVSS 6.5 · Medium
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-96636

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Pillow: Decompression-bomb protection bypass via multi-frame seek() in MPO and DCX (MpoImageFile.seek / DcxImageFile.seek)
Source: CVE Program / CVE List V5
Vulnerability Description
Pillow is a Python imaging library. Prior to 13.0.0, MpoImageFile.seek() and DcxImageFile.seek() reparse later MPO or DCX frames and replace self._size without rerunning Image._decompression_bomb_check(). A crafted multi-frame image can use a tiny first frame to pass Image.open() and then declare an over-limit later frame. Normal frame iteration through seek(), load(), or ImageSequence.Iterator can decode that frame and commit hundreds of megabytes or more, causing memory-exhaustion denial of service. This issue is fixed in version 13.0.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
未加控制的资源消耗(资源穷尽)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
python-pillow Pillow < 13.0.0 -

II. Public POCs for CVE-2026-96636

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-96636

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-96636 (2)

Vendor Advisories for CVE-2026-96636 (1)

Vendor Pages for CVE-2026-96636 (1)

Same Patch Batch · python-pillow · 2026-10-21 · 11 CVEs total

CVE-2026-96639 9.8 CRITICAL Pillow multi-frame loaders can reuse stale native image storage after mode transitions
CVE-2026-96640 8.2 HIGH Pillow PDF append accepts malformed shared page-tree DAG causing resource exhaustion
CVE-2026-96778 7.7 HIGH Pillow: Heap buffer overflow writing JPEG comment after ICC profile fills buffer
CVE-2026-96642 7.1 HIGH Pillow: TarIO negative size field causes infinite CPU-spin loop
CVE-2026-96643 7.1 HIGH Pillow: PNG eXIf chunk makes EXIF parsing run in quadratic time
CVE-2026-96644 7.1 HIGH Pillow: Heap over-read in WMF/EMF rendering via 16-bit dimension truncation (Windows build
CVE-2026-96637 7.1 HIGH Pillow: Decompression bomb check bypass in SpiderImagePlugin.seek() leads to unbounded all
CVE-2026-96638 6.5 MEDIUM Pillow: BMP RLE decoder memory-amplification DoS via unbounded delta escape / absolute mod
CVE-2026-96641 6.5 MEDIUM Pillow: Reachable undefined behavior in native integer operations, potentially leading to
CVE-2026-114501 6.3 MEDIUM Pillow: Arrow export leaks stale heap memory when PILLOW_ALIGNMENT > 1

IV. Related Vulnerabilities

V. Comments for CVE-2026-96636

No comments yet


Leave a comment