🔍 CVE-2017-15896

9.1
CVSS Score
CRITICAL
2017-12-11
2026-06-17 01:08
✅ 완료

🇰🇷 한글 설명

Node.js의 TLS 및 HTTP2 모듈에서 OpenSSL CVE-2017-3737 취약점으로 인해 TLS 핸드셰이크 실패 시 인증과 암호화를 우회할 수 있습니다. 활성 네트워크 공격자가 TLS 보호 없이 애플리케이션 데이터를 전송하여 민감 정보 유출 및 중간자 공격이 가능합니다.

💡 쉬운 설명

Node.js가 보안 연결을 설정하는 과정에서 실패할 수 있어, 인터넷 공격자가 암호화 없이 데이터를 가로챌 수 있습니다. 은행 로그인이나 개인정보가 노출될 위험이 있습니다.

🇺🇸 원문 (English)

Node.js was affected by OpenSSL vulnerability CVE-2017-3737 in regards to the use of SSL_read() due to TLS handshake failure. The result was that an active network attacker could send application data to Node.js using the TLS or HTTP2 modules in a way that bypassed TLS authentication and encryption.

📍 영향받는 시스템

Node.js 4.x, 6.x, 7.x, 8.x 버전 (모두 취약); OpenSSL 1.0.2 기반 설치

⚔️ 공격 벡터

TLS 핸드셰이크 중 오류 발생 시 공격자가 네트워크를 통해 암호화되지 않은 데이터 전송 및 가로채기

🛡️ 대응 방법

Node.js를 최신 LTS 버전(8.x 이상 또는 6.11.2+ 패치 버전)으로 업그레이드

🔧 검증 코드

Node.js 버전이 8.0.0 이상이고 OpenSSL이 1.0.2 미만이거나 1.0.2l 이상이면 패치됨

Shell / Script
node --version && openssl version | grep -oE '1\.[0-1]\.[0-2]|vulnerable'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js