Uncontrolled memory allocation in ag-psd PSD layer decoding
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-770.
Summary
ag-psd before 31.0.1 is a JavaScript library for reading and writing Photoshop Document files. The readPsd() function ignores its totalMemoryLimit option during layer decoding because decodeLayerImageData reads a differently named property, so no memory limit is applied (CWE-770). An attacker who supplies a crafted PSD file to an application with layer decoding enabled can use layer dimensions to force an allocation larger than the configured limit, exhausting process memory.
Written with Claude Haiku 5.5 from the sources below · 2026-11-03
Description from the CNA
ag-psd is a JavaScript library for reading and writing Photoshop Document files. Prior to 31.0.3, readPsd() accepts a totalMemoryLimit for parsing untrusted PSD files, but decodeLayerImageData expects a differently named memoryLimit property and therefore passes an undefined limit to createImageDataBitDepth. An attacker who can supply a PSD to an application with layer decoding enabled can use attacker-controlled layer dimensions to trigger an allocation larger than the configured limit, causing process memory exhaustion and denial of service. The advisory also identifies inflateSync(compressed) decompressing ZIP-encoded channel data without an output-size cap, which can cause a similar denial of service through unbounded decompression. This vulnerability is fixed in 31.0.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- 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 |
|---|---|---|---|---|---|
| Agamnentzar | ag-psd | before 31.0.1 | 31.0.1 | Patch available | CNA |
- ag-psd VendorAgamnentzar Affected before 31.0.1 Fixed in 31.0.1 Patch available CNA
Remediation
Upgrade ag-psd to version 31.0.1 or later.
Written with Claude Haiku 5.5 from the sources below · 2026-11-03
- Fix · CNA ag-psd (Agamnentzar) Fixed in 31.0.1
Timeline
- 2026-11-03 Threatist record created from CVE-2026-63501
- 2026-11-03 CISA SSVC decision points changed
- 2026-11-03 Priority changed: MEDIUM → HIGH
References
More Agamnentzar vulnerabilities
- TI-2026-83407 Uncontrolled memory allocation in ag-psd from declared PSD sizes CVSS 3.1HIGH 7.5
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences