SB2026041113 - Multiple vulnerabilities in Pillow
Published: April 11, 2026 Updated: July 7, 2026
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 6 vulnerabilities.
1) Resource exhaustion (CVE-ID: CVE-2026-40192)
CWE-ID: CWE-400 - Resource exhaustion
CVSSv4: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U/U:Green
The vulnerability allows a remote attacker to cause a denial of service.
The vulnerability exists due to uncontrolled resource consumption in the FITS image decoder when parsing a specially crafted GZIP-compressed FITS file. A remote attacker can supply a specially crafted FITS file to cause a denial of service.
The issue can result in unbounded memory consumption, leading to an out-of-memory crash or severe performance degradation.
2) Heap-based buffer overflow (CVE-ID: CVE-2026-42309)
CWE-ID: CWE-122 - Heap-based Buffer Overflow
CVSSv4: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U/U:Green
The vulnerability allows a remote attacker to cause a denial of service.
The vulnerability exists due to a heap-based buffer overflow in coordinate-processing APIs such as ImagePath.Path, ImageDraw.ImageDraw.polygon, and ImageDraw.ImageDraw.line when processing nested list coordinates. A remote attacker can pass nested lists as coordinates to cause a denial of service.
The issue was introduced in Pillow 11.2.1.
3) Integer overflow (CVE-ID: CVE-2026-42308)
CWE-ID: CWE-190 - Integer overflow
CVSSv4: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U/U:Green
The vulnerability allows a remote attacker to cause a denial of service.
The vulnerability exists due to integer overflow in font processing when handling fonts with excessively large glyph advance values. A remote attacker can supply a specially crafted font to cause a denial of service.
4) Infinite loop (CVE-ID: CVE-2026-42310)
CWE-ID: CWE-835 - Loop with Unreachable Exit Condition ('Infinite Loop')
CVSSv4: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U/U:Green
The vulnerability allows a remote attacker to cause a denial of service.
The vulnerability exists due to an infinite loop in PdfParser when parsing a malicious PDF trailer with cyclic Prev pointers. A remote attacker can supply a specially crafted PDF file to cause a denial of service.
The issue can cause the process to hang indefinitely, consume 100% CPU, and make the application unresponsive.
5) Out-of-bounds read (CVE-ID: CVE-2026-59198)
CWE-ID: CWE-125 - Out-of-bounds read
CVSSv4: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:N/E:U/U:Green
The vulnerability allows a remote attacker to disclose sensitive information.
The vulnerability exists due to an out-of-bounds read in the TGA RLE encoder when saving a mode "1" image through the public save API with TGA RLE compression. A remote attacker can save a specially crafted image to disclose sensitive information.
The issue can serialize adjacent process heap bytes into the generated TGA file, and a maximum-width single-row image can expose nearly the full adjacent heap window.
6) Heap-based buffer overflow (CVE-ID: CVE-2026-59197)
CWE-ID: CWE-122 - Heap-based Buffer Overflow
CVSSv4: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N/E:U/U:Amber
The vulnerability allows a remote attacker to cause a denial of service and overwrite heap memory.
The vulnerability exists due to a heap-based buffer overflow in the ImageFilter.RankFilter API and ImagingExpand function when processing a very large odd filter size through public rank-filter classes. A remote attacker can supply a specially crafted filter size to cause a denial of service and overwrite heap memory.
The issue is reachable through documented public classes including RankFilter, MedianFilter, MinFilter, and MaxFilter. If the image is also attacker-supplied, the out-of-bounds value written past the allocation can be influenced by source image border pixels.
Remediation
Install update from vendor's website.
References
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-whj4-6x5x-4v2j
- https://github.com/advisories/GHSA-whj4-6x5x-4v2j
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-5xmw-vc9v-4wf2
- https://github.com/advisories/GHSA-5xmw-vc9v-4wf2
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-wjx4-4jcj-g98j
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-r73j-pqj5-w3x7
- https://github.com/advisories/GHSA-r73j-pqj5-w3x7
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-fj7v-r99m-22gq
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-xj96-63gp-2gmr