🇰🇷 한글 설명
undici WebSocket 클라이언트가 메시지 조각의 총 바이트 수는 제한하지만 조각의 개수는 제한하지 않아 발생하는 취약점입니다. 공격자가 수많은 작은 조각을 지속적으로 전송할 경우 클라이언트 프로세스의 메모리가 무한히 증가하여 서비스 거부(DoS) 상태에 빠질 수 있습니다.
💡 쉬운 설명
웹사이트와 데이터를 주고받는 도구에서 데이터 조각의 개수를 제한하지 않아 발생하는 문제입니다. 나쁜 서버가 아주 작은 데이터 조각을 끊임없이 보내면 컴퓨터의 메모리가 가득 차서 프로그램이 멈출 수 있습니다.
🇺🇸 원문 (English)
Impact:
The undici WebSocket client enforces maxPayloadSize on the cumulative byte count of fragments in a message but does not enforce a limit on the number of fragments. A malicious WebSocket server can stream many small or empty continuation frames that each pass per-frame and cumulative-size validation, collectively causing unbounded memory growth in the client process. The result is memory exhaustion and a denial of service.
Affected applications are those using the undici WebSocket client (new WebSocket(...)) or the WebSocketStream API that can be induced to connect to an attacker-controlled or compromised WebSocket endpoint.
All releases starting at undici 6.17.0 are affected.
Patches: Upgrade to undici >= 6.26.0, >= 7.28.0, or >= 8.5.0. Workarounds:
No workaround is available. The fix must be applied through an upgrade.
📍 영향받는 시스템
undici 6.17.0 이상의 모든 버전 (WebSocket 클라이언트 또는 WebSocketStream API 사용 시)
⚔️ 공격 벡터
공격자가 제어하는 WebSocket 엔드포인트에서 수많은 작은 또는 빈 연속 프레임을 전송하여 메모리 고갈 유도
🛡️ 대응 방법
undici 버전을 6.26.0, 7.28.0 또는 8.5.0 이상으로 업그레이드
🔧 검증 코드
출력된 undici의 버전이 취약한 범위(6.17.0 이상 ~ 패치 버전 미만)에 해당하는지 확인
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
💻 영향받는 소프트웨어
IBM WebSphere Application Server