🔍 CVE-2026-1526

7.5
CVSS Score
HIGH
2026-03-12
2026-09-04 13:18
✅ 완료

🇰🇷 한글 설명

undici WebSocket 클라이언트가 permessage-deflate 압축 해제 과정에서 메모리 사용량을 제한하지 않아 서비스 거부(DoS) 공격에 취약합니다. 악의적인 서버가 압축 해제 시 크기가 급격히 커지는 데이터를 전송하면 Node.js 프로세스의 메모리가 고갈되어 시스템이 중단될 수 있습니다.

💡 쉬운 설명

압축된 아주 작은 파일을 보냈을 때, 이를 풀었을 때 엄청나게 큰 용량이 되도록 만들어 컴퓨터의 메모리를 가득 채워버리는 공격입니다. 이로 인해 프로그램이 멈추거나 강제로 종료될 수 있습니다.

🇺🇸 원문 (English)

The undici WebSocket client is vulnerable to a denial-of-service attack via unbounded memory consumption during permessage-deflate decompression. When a WebSocket connection negotiates the permessage-deflate extension, the client decompresses incoming compressed frames without enforcing any limit on the decompressed data size. A malicious WebSocket server can send a small compressed frame (a "decompression bomb") that expands to an extremely large size in memory, causing the Node.js process to exhaust available memory and crash or become unresponsive. The vulnerability exists in the PerMessageDeflate.decompress() method, which accumulates all decompressed chunks in memory and concatenates them into a single Buffer without checking whether the total size exceeds a safe threshold.

📍 영향받는 시스템

undici 라이브러리를 사용하는 Node.js 환경 (permessage-deflate 확장 기능 사용 시)

⚔️ 공격 벡터

악의적인 WebSocket 서버가 압축 해제 시 메모리 폭발을 유도하는 '압축 폭탄(Decompression Bomb)' 프레임을 전송

🛡️ 대응 방법

undici 라이브러리를 최신 보안 패치 버전으로 업데이트하거나, WebSocket 설정에서 permessage-deflate 확장을 비활성화합니다.

🔧 검증 코드

출력된 undici의 버전을 확인하여 취약점이 해결된 최신 버전인지 대조합니다.

Shell / Script
npm list undici

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js