CyberRota Analysis
AI-GeneratedThe psd-tools Python package prior to version 1.17.1 contains vulnerabilities that allow an attacker to exploit the `SmartObject.save()` method to write files to arbitrary locations on the filesystem, potentially leading to unauthorized file manipulation or overwriting. Additionally, the `SmartObject.open()` method can be exploited to read arbitrary files, enabling data exfiltration to a location specified by the attacker. Developers and organizations using this package should prioritize upgrading to version 1.17.1 to mitigate these security risks.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD 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.