python-pillow/pillow · Security
Pillow has a heap buffer overflow with nested list coordinates
- GHSA ID
- GHSA-5xmw-vc9v-4wf2
- CVE ID
- CVE-2026-42309
- Severity
- medium
- Published
- Updated
- CVSS
- 5.5 · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- CVSS v3
- 5.5 · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- CVSS v4
- 5.1 · CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Description
Passing nested lists as coordinates to APIs that accept coordinates such as ImagePath.Path, ImageDraw.ImageDraw.polygon and ImageDraw.ImageDraw.line could cause a heap buffer overflow, as nested lists were recursively unpacked beyond the allocated buffer. Coordinate lists are now validated to contain exactly two numeric coordinates. This was introduced in Pillow 11.2.1.
CWEs
- CWE-122 · Heap-based Buffer Overflow
References
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-5xmw-vc9v-4wf2 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2026-42309 ↗
- https://github.com/python-pillow/Pillow/releases/tag/12.2.0 ↗
- https://github.com/python-pillow/Pillow/commit/cf6de8ca9b23e714aa5310e1c791eda66fc0b670 ↗
- https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2026-2251.yaml ↗
- https://github.com/designcomputer/mysql_mcp_server/commit/a96549f4a4d65443fd6e9c7f2324fba9a5c80a82 ↗
- https://github.com/advisories/GHSA-5xmw-vc9v-4wf2 ↗