CVE-2026-42311: Pillow: OOB Write with Invalid PSD Tile Extents (Integer Overflow)
### Impact Processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. ### Patches Patched version: 12.2.0 Pillow 12.1.1 addressed CVE-2026-25990 by adding checks for tile extents in PSD image decoding/encoding to prevent an out-of-bounds write. However, the bounds checks computed tile extent sums using types susceptible to integer overflow, meaning a PSD image with carefully chosen tile dimensions could produce values that wrap around and bypass the checks, still triggering an out-of-bounds write in src/decode.c and src/encode.c. The fix avoids adding extents together before comparison. ### Workarounds Use any version but affected versions: >= 10.3.0, < 12.2.0 ### Resources - Fix: https://github.com/python-pillow/Pillow/pull/9520 - Original issue: CVE-2026-25990 (Pillow 12.1.1)
Affected Software
Remediation
Patch Available
Event History
Frequently Asked Questions
What is the severity of CVE-2026-42311?
CVE-2026-42311 is a critical vulnerability that can lead to memory corruption and potentially arbitrary code execution.
How do I fix CVE-2026-42311?
To fix CVE-2026-42311, upgrade to the patched version 12.2.0 of the Pillow library.
What vulnerability does CVE-2026-42311 address?
CVE-2026-42311 addresses vulnerabilities in processing malicious PSD files that could cause crashes.
Which versions of Pillow are affected by CVE-2026-42311?
Versions of Pillow from 10.3.0 up to but not including 12.2.0 are affected by CVE-2026-42311.
What types of attacks can CVE-2026-42311 facilitate?
CVE-2026-42311 can facilitate attacks leading to memory corruption and arbitrary code execution through malicious PSD files.