CVE Catalog

CVE-2026-96638

MediumCVSS 6.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.35%

28th percentile - higher than 28% of all known CVEs

Summary

Pillow, a Python imaging library, from 9.1.0 until 13.0.0 allows BmpRleDecoder.decode() in src/PIL/BmpImagePlugin.py to append beyond the remaining dest_length without a per-branch cap via crafted RLE BMP delta escapes and absolute-mode runs. A delta can add roughly 255 image rows in one iteration, so a kilobyte-sized file with a large but permitted width can expand the data bytearray to hundreds of megabytes or more, causing memory-exhaustion denial of service.

Risk Assessment

An attacker can supply a small crafted BMP file that, when processed by Pillow, consumes a huge amount of memory, leading to a crash or service unavailability. This can disrupt applications that process images.

Recommendation

Update Pillow to version 13.0.0 or later. Consider limiting size and resources when processing untrusted BMP files.

Other vulnerabilities in Pillow

See all
Original NVD description (English source)

Pillow is a Python imaging library. From 9.1.0 until 13.0.0, BmpRleDecoder.decode() in src/PIL/BmpImagePlugin.py permits crafted RLE BMP delta escapes and absolute-mode runs to append beyond the remaining dest_length without a per-branch cap. A delta can add roughly 255 image rows in one iteration, so a kilobyte-sized file with a large but permitted width can expand the data bytearray to hundreds of megabytes or more, causing memory-exhaustion denial of service. This issue is fixed in version 13.0.0.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS