psd-tools: arbitrary file write via smart-object filename
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| psd-tools | psd-tools | before 1.17.1 | 1.17.1 | Patch available | CNA |
| — | psd-tools (PyPI) | before 1.17.1 | 1.17.1 | Patch available | GHSA-2rmg-vrx8-9j2f |
- psd-tools Vendorpsd-tools Affected before 1.17.1 Fixed in 1.17.1 Patch available CNA
- psd-tools (PyPI) Vendor— Affected before 1.17.1 Fixed in 1.17.1 Patch available GHSA-2rmg-vrx8-9j2f
Remediation
- Fix · CNA psd-tools (psd-tools) Fixed in 1.17.1
- Fix · GHSA-2rmg-vrx8-9j2f psd-tools (PyPI) Fixed in 1.17.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-49836
- 2026-10-03 Alias added: GHSA-2rmg-vrx8-9j2f
References
Other 5
- https://github.com/psd-tools/psd-tools/security/advisories/GHSA-2rmg-vrx8-9j2f
- https://github.com/psd-tools/psd-tools/pull/657
- https://github.com/pypa/advisory-database/tree/main/vulns/psd-tools/PYSEC-2026-2969.yaml
- http://github.com/psd-tools/psd-tools/releases/tag/v1.17.1
- https://github.com/psd-tools/psd-tools
More psd-tools vulnerabilities
- TI-2026-42775 psd-tools: Uncontrolled memory allocation in psd-tools composite/numpy via crafted PSD geometry CVSS 3.1HIGH 7.5
Sources
- CVE-2026-49836 · CVE Program
- CVE-2026-49836 · NVD
- FIRST EPSS
- GHSA-2rmg-vrx8-9j2f · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences