🔍 CVE-2026-18149

5.9
CVSS Score
MEDIUM
2026-09-04
2026-09-16 20:41
✅ 완료

🇰🇷 한글 설명

undici의 재시도 핸들러가 이미 노출된 응답 본문을 영구적으로 대기 상태로 남겨두는 취약점입니다. 공격자가 제어하는 서버가 불완전한 응답을 보낸 후 재시도 시 오류를 유발하면, 해제되지 않은 응답 스트림이 누적되어 애플리케이션의 메모리나 동시성 자원을 고갈시킬 수 있습니다.

💡 쉬운 설명

서버가 데이터를 보내다 말고 끊어버리는 방식으로 프로그램을 속여, 컴퓨터의 메모리를 계속 잡아먹게 만드는 공격입니다. 이로 인해 프로그램이 느려지거나 멈출 수 있습니다.

🇺🇸 원문 (English)

undici's retry handler can leave an already-exposed response body pending forever. When a server returns a successful response that declares a Content-Length, sends only part of the body, and closes the connection, the retry handler retries the request. If the retry returns a non-retryable status such as 400, the handler forwards that new response downstream and replaces its internal response stream, but the original response body that the application still holds is never ended or destroyed. As a result calls that read that body never settle, and the configured body timeout does not fire because its timer is tied to the connection parser rather than the orphaned body. An attacker-controlled server can trigger this with two short responses without keeping a connection open, and repeated requests accumulate pending promises and streams that can exhaust application concurrency or memory. This affects undici versions from 7.11.0 up to 7.29.1 and from 8.0.0 up to 8.10.2. Users should upgrade to undici 7.29.1 or 8.10.2.

📍 영향받는 시스템

undici versions 7.11.0 to 7.29.1 and 8.0.0 to 8.10.2

⚔️ 공격 벡터

공격자가 제어하는 서버를 통해 불완전한 응답과 재시도 실패를 유도하여 자원 고갈 유발

🛡️ 대응 방법

undici 버전을 7.29.1 또는 8.10.2 이상으로 업그레이드

🔧 검증 코드

출력된 undici의 버전이 취약한 범위(7.11.0-7.29.1 또는 8.0.0-8.10.2)에 포함되는지 확인

Shell / Script
npm list undici | grep 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

💻 영향받는 소프트웨어

IBM WebSphere Application Server