🔍 CVE-2018-12123

4.3
CVSS Score
MEDIUM
2018-11-28
2026-10-08 22:16
✅ 완료

🇰🇷 한글 설명

Node.js의 URL 파서에서 javascript 프로토콜을 사용할 때 호스트네임 스푸핑이 발생할 수 있는 취약점입니다. 'javAscript:'와 같이 대소문자를 혼용한 프로토콜을 사용하면 url.parse() 함수가 호스트네임을 잘못 인식하여 보안 결정을 우회할 수 있습니다.

💡 쉬운 설명

웹 주소를 분석하는 기능이 대소문자를 제대로 구분하지 못해 발생하는 문제입니다. 공격자가 주소 형식을 살짝 바꾸면 시스템이 가짜 주소를 진짜로 착각하게 만들 수 있습니다.

🇺🇸 원문 (English)

Node.js: All versions prior to Node.js 6.15.0, 8.14.0, 10.14.0 and 11.3.0: Hostname spoofing in URL parser for javascript protocol: If a Node.js application is using url.parse() to determine the URL hostname, that hostname can be spoofed by using a mixed case "javascript:" (e.g. "javAscript:") protocol (other protocols are not affected). If security decisions are made about the URL based on the hostname, they may be incorrect.

📍 영향받는 시스템

Node.js 6.15.0, 8.14.0, 10.14.0, 11.3.0 미만 모든 버전

⚔️ 공격 벡터

javascript 프로토콜의 대소문자를 혼합하여(예: javAscript:) URL 호스트네임을 조작하는 방식

🛡️ 대응 방법

Node.js를 보안 패치가 적용된 최신 버전(6.15.0, 8.14.0, 10.14.0, 11.3.0 이상)으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 취약한 버전 범위(6.15.0, 8.14.0, 10.14.0, 11.3.0 미만)에 해당하면 취약한 상태입니다.

Shell / Script
node -v | grep -E 'v(0\.|1[0-1]\.(?!(14|3\.)))'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js