CVE-2026-42309·Python vulnerability
Pillow is a Python imaging library. From version 11.2.1 to before version 12.2.0, 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 issue has been patched in version 12.2.0.
- Severity
- medium
- Software
- Python
- Fixed in
- 12.2.0
- Published
- 2026-05-09
Affected versions
From: 11.2.1
Until: 12.2.0
Fixed in: 12.2.0
How to fix this CVE
Update Python's Pillow imaging library to version 12.2.0 or later to patch a heap buffer overflow vulnerability in coordinate processing APIs. The vulnerability affects polygon and line drawing functions when malformed nested coordinate lists are passed, potentially causing denial of service or memory corruption. Administrators should prioritize updating Pillow across all systems that process user-supplied image drawing operations.
sudo dnf update python3-pillowDefensia detects this vulnerability
How to check if you are affected
- Check installed Pillow version: python3 -c "import PIL; print(PIL.__version__)"
- Verify if Pillow is used in applications: grep -r "from PIL import" /var/www /opt /home --include="*.py" 2>/dev/null
- Search application logs for ImageDraw, ImagePath, or polygon/line calls with suspicious nested list structures: grep -i "imagedraw\|imagepath" /var/log/application.log
- Confirm patch installation by running python3 -c "import PIL; print(PIL.__version__)" and verify version is 12.2.0 or higher
FAQ
What is CVE-2026-42309?
CVE-2026-42309 is a heap buffer overflow vulnerability in Pillow's coordinate validation logic that occurs when nested list structures are passed to image drawing functions like polygon() and line(). This can lead to memory corruption or application crashes.
Is CVE-2026-42309 being actively exploited?
No, this vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog and no public exploits are currently available.
What versions of Python are affected by CVE-2026-42309?
This CVE affects Pillow versions from 11.2.1 up to (but not including) 12.2.0. The vulnerability was introduced in Pillow 11.2.1 and patched in version 12.2.0.
How do I check if my server is vulnerable to CVE-2026-42309?
Run 'python3 -c "import PIL; print(PIL.__version__)"' and compare against version 12.2.0. If your installed version is between 11.2.1 and 12.1.x, your system is vulnerable.
Does Defensia detect CVE-2026-42309?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Python and Pillow are installed on a monitored server, CVE-2026-42309 will appear in your dashboard with remediation steps.
Related Python CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-42309. Free for 1 server.
Get started free