🔍 CVE-2026-109383

7.4
CVSS Score
HIGH
2026-10-15
2026-10-19 20:45
✅ 완료

🇰🇷 한글 설명

Node.js용 HTTP 클라이언트 라이브러리인 undici의 특정 버전에서 Agent dispatcher가 설정 옵션을 JSON 기반으로 복제하는 과정에서 함수형 TLS 옵션(checkServerIdentity)을 누락시키는 취약점이 발견되었습니다. 이로 인해 사용자 정의 인증서 검증 로직이 무시되어, 기본 검증은 통과하지만 사용자 정의 규칙에는 어긋나는 악성 TLS 피어를 신뢰하게 될 수 있습니다.

💡 쉬운 설명

보안 검사를 위해 설정해둔 '가짜 인증서 거부' 규칙이 프로그램 내부의 실수로 인해 삭제되어 작동하지 않는 문제입니다. 이로 인해 해커가 만든 가짜 사이트에 접속하더라도 보안 경고 없이 연결될 위험이 있습니다.

🇺🇸 원문 (English)

undici is an HTTP client library for Node.js. In versions 4.0.0 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1, its Agent dispatcher passes its constructor options through a JSON-based deep clone before forwarding them to each per-origin pool, and because JSON cannot represent functions, a caller-supplied tls option containing a checkServerIdentity callback is silently dropped before it reaches the TLS layer. As a result, a TLS peer whose certificate a custom checkServerIdentity was written to reject, but which passes Node's default hostname and chain checks, is silently accepted. Because Agent is the default dispatcher behind request, fetch, and setGlobalDispatcher, this affects the path most applications use, and EnvHttpProxyAgent is affected on its direct and no-proxy routes as well, while only applications that pass a function-valued tls option such as a custom checkServerIdentity for certificate or public-key pinning are at risk. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, which preserve the tls option outside the JSON clone so custom verification callbacks are forwarded unchanged, and users should upgrade to one of those versions or later. As a workaround, pass the TLS options through connect instead of tls, or for proxied destinations use requestTls and proxyTls.

📍 영향받는 시스템

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

⚔️ 공격 벡터

사용자 정의 TLS 검증(checkServerIdentity)을 우회하는 중간자 공격(MitM)

🛡️ 대응 방법

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

🔧 검증 코드

출력된 undici의 버전이 취약한 범위(4.x, 7.x, 8.x의 특정 구간)에 포함되는지 확인합니다.

Shell / Script
npm list undici

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js