CVE-2026-49836
MediumCVSS 4.6Exploitation Probability (EPSS)
Low risk8th percentile - higher than 8% of all known CVEs
Summary
psd-tools, a Python package for working with Adobe Photoshop PSD files, prior to version 1.17.1 allows SmartObject.save() to write an embedded smart object to a path taken verbatim from the PSD file. Because that name is attacker-controlled and unsanitised, a tool extracting 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.
Risk Assessment
Processing untrusted PSD files can lead to overwriting arbitrary files on the system and to reading and exfiltrating sensitive data.
Recommendation
Update psd-tools to version 1.17.1 or later. Avoid processing untrusted PSD files in high-privilege environments.
Other vulnerabilities in psd-tools
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

