🔍 CVE-2026-63501

7.5
CVSS Score
HIGH
2026-11-03
2026-11-03 22:19
✅ 완료

🇰🇷 한글 설명

ag-psd는 Photoshop 문서(PSD) 파일을 읽고 쓰는 JavaScript 라이브러리입니다. 31.0.3 이전 버전에서는 readPsd()의 totalMemoryLimit 옵션이 레이어 디코딩 함수에서 올바르게 적용되지 않아 메모리 제한이 무시되며, 또한 ZIP 압축 채널 데이터를 출력 크기 제한 없이 해제하여 과도한 메모리 사용을 유발할 수 있습니다. 이로 인해 악성 PSD 파일 처리 시 서비스 거부(DoS)가 발생할 수 있습니다.

💡 쉬운 설명

악성 Photoshop 파일을 처리하는 프로그램이 과도한 메모리를 사용해 멈출 수 있습니다. 공격자가 조작된 이미지 파일을 제공하면 서버나 애플리케이션이 다운될 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

ag-psd 31.0.3 미만 버전을 사용하는 Node.js/JavaScript 애플리케이션 (레이어 디코딩 활성화 시)

⚔️ 공격 벡터

공격자가 조작된 PSD 파일을 레이어 디코딩이 활성화된 애플리케이션에 업로드하여 메모리 한도를 초과하는 할당 또는 무제한 압축 해제를 유발

🛡️ 대응 방법

ag-psd를 31.0.3 이상(최소 31.0.1 이상)으로 업그레이드하고, 신뢰할 수 없는 PSD 입력에 대해 파일 크기 및 처리 시간 제한을 추가로 적용

🔧 검증 코드

출력된 버전이 31.0.3 이상이면 취약하지 않으며, 31.0.3 미만이거나 출력이 없으면 설치된 버전을 확인하고 업그레이드가 필요합니다.

Shell / Script
npm ls ag-psd 2>/dev/null | grep ag-psd

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H