Mend.io Vulnerability Database
The largest open source vulnerability database
What is a Vulnerability ID?
New vulnerability? Tell us about it!
CVE-2026-49836
Published:July 10, 2026
Updated:August 27, 2026
In "psd-tools" (all releases exposing the "SmartObject" API through v1.17.0), "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.
Affected Packages
psd-tools (PYTHON):
Affected version(s) >=0.1.1 <1.17.1
Fix Suggestion:
Update to version 1.17.1
Do you need more information?
Contact Us
CVSS v4
Base Score:
4.6
Attack Vector
LOCAL
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
NONE
User Interaction
ACTIVE
Vulnerable System Confidentiality
LOW
Vulnerable System Integrity
LOW
Vulnerable System Availability
NONE
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
4.4
Attack Vector
LOCAL
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality
LOW
Integrity
LOW
Availability
NONE
Weakness Type (CWE)
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
External Control of File Name or Path