[ CVE-2026-59991 · Published 22 Sep 2026 ]
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
CVSS 7.5
EPSS <1%Fix available
[ Why it matters ]Priority signals
- Public proof-of-concept exploit exists (CISA SSVC)
[ Description ]Official description
psd-tools is a Python package for working with Adobe Photoshop PSD files. Prior to 1.17.4, PSDImage.composite() and PSDImage.numpy() allocated output buffers from attacker-controlled PSD header geometry, including width, height, channels, depth, and per-layer rectangles, before validating those values against the available file data. A tiny crafted PSD could therefore cause multi-gigabyte memory allocation, and PSDImage.composite() could return a black image with only a warning instead of raising an exception. Services that composite untrusted PSD files could be terminated by out-of-memory handling. This issue is fixed in version 1.17.4.
[ Fixes ]Fixes and patches
- psd-tools 1.17.4Fixed version · GitHub Advisories · pip package psd-tools: upgrade to 1.17.4 or later (affected < 1.17.4)
[ Packages ]Affected open-source packages
- psd-tools pipAffected < 1.17.4 · fixed in 1.17.4 · GHSA-8q6g-vjhf-jp8m
[ References ]References
- github.com/psd-tools/psd-tools/security/advisories/GHSA-8q6g-vjhf-jp8mx_refsource_CONFIRM
- github.com/psd-tools/psd-tools/commit/a3d9a53ad51e667b5772a4f636ca6f2e16f4b271x_refsource_MISC
- github.com/psd-tools/psd-tools/releases/tag/v1.17.4x_refsource_MISC