ag-psd: Uncontrolled Memory Allocation in PSD Layer Decoding (totalMemoryLimit bypass)
Affects ag-psd before 31.0.1 when layer decoding is enabled, which is the default. No vendor severity rating is given. Fixed in 31.0.1.
Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.
- Exploited
- Proof of concept public, per CISA
- Fix
- Fixed in 31.0.1
- Who is exposed
- Default setups
Do first: Check every install: default setups are affected.
- Exploitation15/40CISA rates a proof of concept as public
- Exposure25/25Default setups, CISA rates it automatable
- Reach?/20Reach: unknown (data gap). No tracked technology or package matched
- Severity7.5/10CVSS 7.5
- No patch0/5No signal
What would change the score
- Would score about 73 if added to CISA KEV
- Would score about 68 if CISA's SSVC rates exploitation active
CVE-2026-63501 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 7.5 (high) and affects ag-psd; fixed in 31.0.1.
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- Published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- A 0-100 score for how much a CVE matters across the industry: exploitation, exposure, how widely the software is used, severity and whether a fix exists.What do these mean? →
- 48/100 · provisional
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Default setups
- Fix
- Fixed in 31.0.1
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: poc
- Automatable: yes
- Technical impact: partial
Summary
ag-psd, a JavaScript library used to read and write Photoshop (PSD) files, is affected when applications parse untrusted PSD files with layer decoding enabled. An attacker can craft a file that causes excessive memory allocation, exhausting process memory and crashing the application (denial of service), because the configured memory limit is not applied during layer decoding.
Read the original description
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.
What to do
Check every install: default setups are affected.
Upgrade to a fixed version: 31.0.1.
Timeline
- CVE published
- First seen by cve.now
- CISA SSVC assessment
Exploitation: poc · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- Agamnentzar ag-psd
fixed in 31.0.1
Evidence 3
- Advisory
- Repository
- Repository
Corrections
None so far.
Something wrong on this page? Report an error. Every fix is listed here.
Questions about CVE-2026-63501
Is CVE-2026-63501 being exploited?
It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. CISA's SSVC assessment notes a proof of concept exists. No public exploit code is tracked.Source: cve.now feed data
What does this mean?
A single crafted PSD file, as small as 86 bytes, can make ag-psd exhaust the process heap memory. The Node.js process can then crash or be killed by the operating system's out-of-memory killer, which is a denial of service.Source: github.com
Which versions are affected by CVE-2026-63501?
ag-psd: before 31.0.1.Source: cve.now feed data
Am I affected, and how do I check?
Versions of ag-psd before 31.0.1 are in scope, and the issue is triggered whenever layer decoding is enabled, which is the default. The installed version can be checked with npm ls ag-psd, and the layer decoding setting can be checked in the application's ag-psd options.Source: github.com
How do I fix CVE-2026-63501?
Upgrade ag-psd to 31.0.1 or later, which is the version listed as fixed.Source: github.com