Medium severity · published Sep 10, 2026
CVE-2026-49836
psd-tools: arbitrary file write via smart-object filename
4.6
CVSS
0.2%
EPSS
No
On KEV
Description
psd-tools is a Python package for working with Adobe Photoshop PSD files. Prior to version 1.17.1, `SmartObject.save()` writes an embedded smart object to a path taken verbatim from the PSD file. Because that name is attacker-controlled and unsanitised, a tool that extracts embedded objects from an untrusted `.psd` can be made to write attacker-chosen bytes to an attacker-chosen path (absolute or `../`-traversing), outside its intended output directory. A secondary issue in `SmartObject.open()` for external-kind smart objects allows the attacker-controlled `fullPath` descriptor to be used as an arbitrary file read path, enabling exfiltration of the read content to the controlled write destination. Both issues are fixed in v1.17.1.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 9% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
PS
psd-tools · psd-tools
< 1.17.1 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-49836
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-49836
github.com
http://github.com/psd-tools/psd-tools/releases/tag/v1.17.1
github.com
https://github.com/psd-tools/psd-tools/pull/657
github.com
https://github.com/psd-tools/psd-tools/security/advisories/GHSA-2rmg-vrx8-9j2f
github.com
https://github.com/pypa/advisory-database/tree/main/vulns/psd-tools/PYSEC-2026-2969.yaml
More from psd-tools
9.1
CVE-2026-27809
psd-tools: Compression module has unguarded zlib decompression, missing dimension validation, and hardening gaps
7.5
CVE-2026-59991
psd-tools: Uncontrolled memory allocation in psd-tools composite/numpy via crafted PSD geometry
