🔍 CVE-2018-12120

8.1
CVSS Score
HIGH
2018-11-28
2026-10-08 22:16
✅ 완료

🇰🇷 한글 설명

Node.js 6.15.0 미만 버전에서 디버그 모드 활성화 시 디버거 포트(5858)가 모든 네트워크 인터페이스에서 대기 상태가 됩니다. 이로 인해 원격 공격자가 디버그 포트에 접속하여 임의의 자바스크립트 코드를 실행할 수 있는 위험이 있습니다.

💡 쉬운 설명

프로그램을 수정하기 위해 열어둔 '수리용 통로'가 외부 인터넷에 그대로 노출된 상태입니다. 해커가 이 통로를 통해 들어와 컴퓨터에 마음대로 명령을 내릴 수 있습니다.

🇺🇸 원문 (English)

Node.js: All versions prior to Node.js 6.15.0: Debugger port 5858 listens on any interface by default: When the debugger is enabled with `node --debug` or `node debug`, it listens to port 5858 on all interfaces by default. This may allow remote computers to attach to the debug port and evaluate arbitrary JavaScript. The default interface is now localhost. It has always been possible to start the debugger on a specific interface, such as `node --debug=localhost`. The debugger was removed in Node.js 8 and replaced with the inspector, so no versions from 8 and later are vulnerable.

📍 영향받는 시스템

Node.js 6.15.0 미만 모든 버전

⚔️ 공격 벡터

네트워크를 통해 노출된 5858 포트에 원격으로 접속하여 디버거를 통해 임의 코드 실행

🛡️ 대응 방법

Node.js를 6.15.0 이상 또는 8.x 이상의 버전으로 업데이트하거나, 디버그 실행 시 --debug=localhost 옵션을 사용함

🔧 검증 코드

출력 결과에 v0.x 또는 v5.x 등 6.15.0 미만 버전이 나타나면 취약한 상태임

Shell / Script
node -v | grep -E '^v[0-5]\.'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js