🔍 CVE-2026-9697

7.4
CVSS Score
HIGH
2026-06-17
2026-09-10 13:20
✅ 완료

🇰🇷 한글 설명

undici의 ProxyAgent가 SOCKS5 프록시를 사용할 때 requestTls 옵션을 무시하는 취약점입니다. 이로 인해 사용자가 설정한 CA 인증서나 보안 설정이 적용되지 않고 Node.js 기본 신뢰 저장소를 사용하게 되어, 중간자 공격(MITM)을 통한 데이터 탈취 및 변조가 가능해집니다.

💡 쉬운 설명

보안을 위해 특정 인증서만 믿도록 설정해두었는데, SOCKS5 프록시를 쓰면 이 설정이 무시되고 아무 인증서나 다 믿어버리는 문제입니다. 이 틈을 타 해커가 통신 내용을 몰래 훔쳐보거나 내용을 바꿀 수 있습니다.

🇺🇸 원문 (English)

Impact: undici's ProxyAgent silently drops the requestTls option when configured with a SOCKS5 proxy URI (socks5:// or socks://). The target HTTPS connection through the SOCKS5 tunnel falls back to Node's default trust store, ignoring user-configured ca, cert, key, rejectUnauthorized, and servername settings. Applications that pin to an internal or corporate CA via requestTls.ca will, when their proxy URI is SOCKS5, get the default Mozilla CA bundle as the trust anchor instead. Any cert signed by any publicly-trusted CA for the target hostname is accepted, breaking the intended pin and enabling MITM read and tamper of the HTTPS exchange. Affected applications are those that use undici's ProxyAgent (or Socks5ProxyAgent directly) with SOCKS5 AND rely on requestTls for TLS scope restriction. The bug was introduced in undici 7.23.0 when SOCKS5 support was added. Patches: Upgrade to undici v7.28.0 or v8.5.0. Workarounds: No workaround is available within the SOCKS5 path. If a SOCKS5 proxy with TLS scope restriction is required and an upgrade is not yet possible, route the traffic through an HTTP-proxy ProxyAgent instead, where requestTls is honored correctly.

📍 영향받는 시스템

undici v7.23.0 이상 버전 (SOCKS5를 사용하며 requestTls 설정을 사용하는 애플리케이션)

⚔️ 공격 벡터

SOCKS5 프록시 환경에서 TLS 인증서 검증 설정을 무력화하여 중간자 공격(MITM) 수행

🛡️ 대응 방법

undici를 v7.28.0 또는 v8.5.0 이상 버전으로 업그레이드하거나, SOCKS5 대신 HTTP 프록시를 사용하십시오.

🔧 검증 코드

출력된 undici의 버전이 7.23.0 이상 7.28.0 미만 또는 8.5.0 미만인지 확인합니다.

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:H/I:H/A:N

💻 영향받는 소프트웨어

IBM WebSphere Application Server