CVE-2026-112403
CRITICAL 9.2Pillow is a Python imaging library. Prior to 13.0.0, Pillow's JPEG decoder can write a full-width scanline into a buffer sized for a requested draft scale. ImagingJpegDecode does not verify libjpeg's actual output width and component count after scaling is requested, and an 8-bit lossless SOF3 JPEG decoded by a build linked to libjpeg-turbo 3.x can ignore the requested downscaling geometry. An attacker can supply such a JPEG to an application that uses draft() or thumbnail() to request downscaling. This can corrupt heap memory, crash the process, or potentially allow code execution. Older libjpeg-turbo 2.x and IJG builds reject the SOF3 input. This issue is fixed in version 13.0.0.
Severe if exploited (CVSS 9.2), but no known exploitation and low modeled probability. Patch on a normal cadence.
Exploitation likelihood
0.8%chance of exploitation in 30 days · 55th percentile
Impact if exploited
9.2CVSS 4.0 · CRITICAL
- ConfidentialityHigh
- IntegrityHigh
- AvailabilityHigh
What an attacker needs
- ✓Access: Reachable over the network — no local access needed
- ✓Privileges: No account or privileges required
- ✓User interaction: No user interaction needed
- ⚠Complexity: Needs a race window or specific setup
- ✓Requirements: No special attack requirements
✓ lowers the bar for an attacker · ⚠ raises it
Proof of concept
No public PoC is currently catalogued.
Search for new PoCs
Search GitHub now — results may be empty or unverified.
Tracked sources are checked daily for recent CVEs, including PoCs published after the original disclosure. A later release appears after a tracked source lists it and a refresh succeeds.
Data snapshot:
Weakness (CWE)
- CWE-122: : Heap-based Buffer Overflow
CVSS vector
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
References and research data (JSON)
Packages and version ranges
Each advisory describes its own package and affected ranges. A boundary applies to that range; it is not a universal upgrade recommendation.
pillow PyPI
pkg:pypi/pillow
ECOSYSTEM range- All earlier versions (introduced 0)
- Fixed boundary (excluded): 13.0.0
107 explicitly listed affected versions
1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7.0, 1.7.1, 1.7.2, 1.7.3, 1.7.4, 1.7.5, 1.7.6, 1.7.7, 1.7.8, 10.0.0, 10.0.1, 10.1.0, 10.2.0, 10.3.0, 10.4.0, 11.0.0, 11.1.0, 11.2.1, 11.3.0, 12.0.0, 12.1.0, 12.1.1, 12.2.0, 12.3.0, 2.0.0, 2.1.0, 2.2.0, 2.2.1, 2.2.2, 2.3.0, 2.3.1, 2.3.2, 2.4.0, 2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.8.0, 2.8.1, 2.8.2, 2.9.0, 3.0.0, 3.1.0, 3.1.0.rc1, 3.1.0rc1, 3.1.1, 3.1.2, 3.2.0, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.4.0, 3.4.1, 3.4.2, 4.0.0, 4.1.0, 4.1.1, 4.2.0, 4.2.1, 4.3.0, 5.0.0, 5.1.0, 5.2.0, 5.3.0, 5.4.0, 5.4.0.dev0, 5.4.1, 6.0.0, 6.1.0, 6.2.0, 6.2.1, 6.2.2, 7.0.0, 7.1.0, 7.1.1, 7.1.2, 7.2.0, 8.0.0, 8.0.1, 8.1.0, 8.1.1, 8.1.2, 8.2.0, 8.3.0, 8.3.1, 8.3.2, 8.4.0, 9.0.0, 9.0.1, 9.1.0, 9.1.1, 9.2.0, 9.3.0, 9.4.0, 9.5.0
GitHub Advisory Database · GHSA-8g5g-8vmr-9782 · Updated 2026-10-26T08:56:04.293161248ZAdditional upstream package constraints
{ "database": { "last_known_affected_version_range": "<= 12.3.0", "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-8g5g-8vmr-9782/GHSA-8g5g-8vmr-9782.json" } }
Unverified PoC candidates
Catalogue matches for further research. These repositories have not been validated as working exploits.
1 candidate
- https://github.com/al4n4n/CVE-2026-112403
CVE-2026-112403: Pillow heap buffer overflow in ImagingJpegDecode via lossless JPEG thumbnail. One POST, 100% crash rate.
PoC-in-GitHub · CVE-2026-112403
PoC-in-GitHub · CVE-2026-112403 · Updated 2026-10-24T19:51:24Z
All CVSS metrics
- CRITICAL 9.2 v4.0 · CNA Primary
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - CRITICAL 9.2 v4.0 · NVD Secondary
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
References
Exploit-tagged references (not proof of a PoC)
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-8g5g-8vmr-9782 CVE record · GitHub_M · Updated 2026-10-19T21:22:21.077Z
CVE record · CISA-ADP · Updated 2026-10-22T21:08:58.141Z
NVD · CVE-2026-112403 · Updated 2026-10-22T22:18:01.700
GitHub Advisory Database · GHSA-8g5g-8vmr-9782
GitHub Advisory Database · GHSA-8g5g-8vmr-9782 · Updated 2026-10-26T08:56:04.293161248Z
Advisories
- https://osv.dev/vulnerability/GHSA-8g5g-8vmr-9782 GitHub Advisory Database · GHSA-8g5g-8vmr-9782
GitHub Advisory Database · GHSA-8g5g-8vmr-9782 · Updated 2026-10-26T08:56:04.293161248Z - https://nvd.nist.gov/vuln/detail/CVE-2026-112403 GitHub Advisory Database · GHSA-8g5g-8vmr-9782
GitHub Advisory Database · GHSA-8g5g-8vmr-9782 · Updated 2026-10-26T08:56:04.293161248Z - https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-104642 EUVD · EUVD-2026-104642
Technical & other
- https://github.com/python-pillow/Pillow/commit/242a059aedc1935097d9aa1dc3f099750467ba75 CVE record · GitHub_M · Updated 2026-10-19T21:22:21.077Z
NVD · CVE-2026-112403 · Updated 2026-10-22T22:18:01.700
GitHub Advisory Database · GHSA-8g5g-8vmr-9782
GitHub Advisory Database · GHSA-8g5g-8vmr-9782 · Updated 2026-10-26T08:56:04.293161248Z - https://github.com/python-pillow/Pillow/releases/tag/13.0.0 CVE record · GitHub_M · Updated 2026-10-19T21:22:21.077Z
NVD · CVE-2026-112403 · Updated 2026-10-22T22:18:01.700
GitHub Advisory Database · GHSA-8g5g-8vmr-9782
GitHub Advisory Database · GHSA-8g5g-8vmr-9782 · Updated 2026-10-26T08:56:04.293161248Z - https://github.com/python-pillow/Pillow GitHub Advisory Database · GHSA-8g5g-8vmr-9782
GitHub Advisory Database · GHSA-8g5g-8vmr-9782 · Updated 2026-10-26T08:56:04.293161248Z