🔍 CVE-2026-109932

5.9
CVSS Score
MEDIUM
2026-10-15
2026-10-19 20:44
✅ 완료

🇰🇷 한글 설명

Node.js용 HTTP 클라이언트 라이브러리인 undici의 특정 버전에서 WebSocket 클라이언트가 메모리 고갈 취약점을 가지고 있습니다. 악의적인 서버가 PING 프레임을 지속적으로 보내면 클라이언트가 PONG 응답을 생성하는 과정에서 백프레셔를 무시하여 프로세스 메모리가 무한히 증가하고 결국 종료됩니다.

💡 쉬운 설명

나쁜 서버가 작은 신호를 계속 보내면, 내 컴퓨터의 프로그램이 그에 응답하느라 메모리를 너무 많이 써서 결국 멈춰버리는 문제입니다. 서버는 아주 조금만 보내도 되지만, 내 컴퓨터는 엄청난 양의 데이터를 처리하려다 과부하가 걸리는 불공평한 공격입니다.

🇺🇸 원문 (English)

undici is an HTTP client library for Node.js. In versions 5.15.0 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1, its WebSocket client, including the bundled WebSocket exposed by Node.js, can be driven to exhaust process memory by a malicious or compromised WebSocket server. For every PING frame received, the client automatically writes a PONG response and ignores the backpressure signal from the socket write, so a server that streams small PING frames while never reading the client's PONGs makes the outbound write queue and heap grow without bound until the Node.js process runs out of memory and terminates. The attack is remote and unauthenticated, needs only a normal WebSocket connection, and is asymmetric, since small inbound PINGs produce a much larger retained outbound queue, with availability the only impact. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, which pause WebSocket frame parsing when the automatic PONG response hits socket backpressure and resume on drain, bounding the outbound queue, and users should upgrade to one of those versions or later. There is no workaround.

📍 영향받는 시스템

undici 5.15.0-6.29.0, 7.0.0-7.30.0, 8.0.0-8.12.1

⚔️ 공격 벡터

인증되지 않은 원격 공격자가 악의적인 WebSocket 서버를 통해 지속적인 PING 프레임을 전송하여 발생

🛡️ 대응 방법

undici 버전을 6.29.1, 7.30.1 또는 8.12.2 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 undici의 버전이 취약한 버전 범위에 포함되는지 확인하십시오.

Shell / Script
npm list undici

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js