# Pillow: heap buffer overflow in FlashPix (FPX) JPEG decoding lets one crafted image run code (CVE-2026-112398) · pwn.watch > A heap buffer overflow in Pillow's FlashPix (FPX) JPEG-tile decoder lets an attacker run code by getting an application to open a single crafted file with Image.open(). Pillow detects FPX files by their OLE2 content, not their extension, so any service that opens or thumbnails untrusted uploads with the optional olefile package installed can be hit with no user interaction. The advisory includes a working proof of concept (shown on Pillow 12.2.0 with ASLR disabled). Pillow 12.3.0 and earlier are affected; upgrade to 13.0.0. GitHub rates it critical (CVSS 4.0 score 9.2). Page: https://pwn.watch/i/pillow-fpx-heap-overflow-cve-2026-112398 · generated 2026-10-24T03:31:12.623Z ## Status - Severity: critical · status: live · patch: patched - Product: Pillow (Python imaging library) - Started: 2026-10-23 - CVEs: CVE-2026-112398 - Affected: pillow <= 12.3.0 - Fixed in: pillow 13.0.0 ## Follow this incident - RSS (one item per update): https://pwn.watch/i/pillow-fpx-heap-overflow-cve-2026-112398/feed.xml - JSON Feed: https://pwn.watch/i/pillow-fpx-heap-overflow-cve-2026-112398/feed.json - Full data (timeline, sources, posts, agentBrief): https://pwn.watch/i/pillow-fpx-heap-overflow-cve-2026-112398.json - This file: https://pwn.watch/i/pillow-fpx-heap-overflow-cve-2026-112398/llms.txt ## Updates (newest first) - 2026-10-23: Pillow publishes GHSA-5x8w-8jj5-q52h (CVE-2026-112398) with a proof of concept; the fix ships in Pillow 13.0.0. (https://github.com/python-pillow/Pillow/security/advisories/GHSA-5x8w-8jj5-q52h) ## Fix brief # Security brief: Pillow: heap buffer overflow in FlashPix (FPX) JPEG decoding lets one crafted image run code (CVE-2026-112398) Source: https://pwn.watch/i/pillow-fpx-heap-overflow-cve-2026-112398 · status: live · severity: critical · updated Oct 23, 2026, 22:11 UTC ## Patch status **PATCHED: fixed releases exist. Upgrade to a fixed version.** ## What it is A heap buffer overflow in Pillow's FlashPix (FPX) JPEG-tile decoder lets an attacker run code by getting an application to open a single crafted file with Image.open(). Pillow detects FPX files by their OLE2 content, not their extension, so any service that opens or thumbnails untrusted uploads with the optional olefile package installed can be hit with no user interaction. The advisory includes a working proof of concept (shown on Pillow 12.2.0 with ASLR disabled). Pillow 12.3.0 and earlier are affected; upgrade to 13.0.0. GitHub rates it critical (CVSS 4.0 score 9.2). Severity detail: CVSS 4.0 9.2 per GitHub; only reachable when the optional olefile package is installed - Product: Pillow (Python imaging library) - CVE / advisory ids: CVE-2026-112398 ## Affected versions - pillow <= 12.3.0 ## Check whether you're affected No generic command applies (the product is a hosted service, appliance or desktop app). Check the installed version in its admin UI / About screen and compare with the versions above. ## Fix Upgrade to one of these fixed versions (or later on the same branch): - pillow 13.0.0 After upgrading, re-run the checks above and redeploy/restart the affected services. ## Specific notes If a Python project depends on pillow 12.3.0 or older, upgrade to 13.0.0 (pip install -U 'pillow>=13.0.0'). Services that process untrusted images are the priority. If you can't upgrade yet and don't need FPX/MIC support, uninstall the optional olefile package, which keeps Pillow from opening FPX files. ## Latest updates - Oct 23, 2026: Pillow publishes GHSA-5x8w-8jj5-q52h (CVE-2026-112398) with a proof of concept; the fix ships in Pillow 13.0.0. ## Advisories - [GHSA-5x8w-8jj5-q52h: Heap buffer overflow in FlashPix (FPX) JPEG decoding leads to code execution](https://github.com/python-pillow/Pillow/security/advisories/GHSA-5x8w-8jj5-q52h) (python-pillow/Pillow) - [GHSA-5x8w-8jj5-q52h](https://github.com/advisories/GHSA-5x8w-8jj5-q52h) (GitHub Advisory Database) - [CVE-2026-112398](https://nvd.nist.gov/vuln/detail/CVE-2026-112398) (NVD) - [Pillow 13.0.0 release](https://github.com/python-pillow/Pillow/releases/tag/13.0.0) (python-pillow/Pillow) --- Machine-readable: https://pwn.watch/i/pillow-fpx-heap-overflow-cve-2026-112398.json · all incidents: https://pwn.watch/incidents.json. Verify against the vendor advisory before changing production systems.