🇰🇷 한글 설명
Node.js의 TLS 호스트명 검증에서 결함이 발견되었습니다. `0127.0.0.1`처럼 앞에 0이 붙은 비정규 IPv4 주소를 사용할 경우, 클라이언트가 연결한 IP가 아닌 다른 IP 주소에 대해 서버 인증서가 검증될 수 있습니다. 이 취약점은 Node.js 26.x, 24.x, 22.x 버전에 영향을 미칩니다.
💡 쉬운 설명
Node.js가 서버의 신원을 확인할 때 IP 주소를 잘못 해석하는 문제가 있습니다. 이로 인해 공격자가 실제 연결 대상과 다른 주소의 인증서로 서버를 속일 수 있습니다.
🇺🇸 원문 (English)
A flaw in Node.js TLS hostname verification can cause a server certificate to be validated against a different IP address than the one the client connected to, when the host is a non-canonical IPv4 literal with a leading zero, such as `0127.0.0.1`.
`tls.checkServerIdentity()` normalizes the host following the WHATWG URL rules, which read a leading-zero octet as octal (`0127.0.0.1` becomes `87.0.0.1`), while the connection is made through the operating system resolver, which on some platforms such as macOS reads it as decimal (`127.0.0.1`). A server at the connected address can then be authenticated with a certificate issued for another IP address.
This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.
📍 영향받는 시스템
Node.js 22.x, 24.x, 26.x 버전 (macOS 등 일부 플랫폼에서 특히 영향)
⚔️ 공격 벡터
공격자가 앞자리 0이 붙은 IPv4 주소 형식을 이용해 TLS 인증서 검증을 우회하고 중간자 공격(MITM)을 수행
🛡️ 대응 방법
Node.js를 패치된 최신 보안 버전(22.x, 24.x, 26.x의 수정 릴리스)으로 업데이트
🔧 검증 코드
출력된 버전이 22.x, 24.x, 26.x 중 하나라면 취약 가능성이 있으므로 보안 패치 릴리스 버전 이상인지 공식 Node.js 릴리스 노트와 대조하여 확인
🇰🇷 KISA(한국인터넷진흥원) 보안 권고
이 CVE에 대한 한국 공식 권고 (1건)
Node.js 제품 보안 업데이트 권고
P4
📅 2026-10-23 · sec_notice
Node.js 제품에서 Null Byte 처리 미흡, 인증서 검증 오류, 경계 외 쓰기 등 보안 취약점이 발견되었습니다. 해당 제품의 구버전을 사용하는 사용자는 보안 위협 방지를 위해 최신 버전으로 업데이트해야 합니다.