🔍 CVE-2016-2216

7.5
CVSS Score
HIGH
2016-04-07
2026-06-17 00:43
✅ 완료

🇰🇷 한글 설명

Node.js의 HTTP 헤더 파싱 코드에서 발견된 취약점으로, HTTP response-splitting 공격을 방어하기 위한 필터링을 UTF-8 인코딩된 유니코드 문자로 우회할 수 있습니다. 원격 공격자가 조작된 헤더를 전송하여 악성 HTTP 응답을 주입할 수 있으며, 캐시 중독이나 세션 탈취 등의 공격으로 이어질 수 있습니다.

💡 쉬운 설명

Node.js 서버의 HTTP 요청 검증 기능에 결함이 있어서, 특수하게 인코딩된 문자를 사용하면 보안 검사를 통과시킬 수 있습니다. 이를 악용해 공격자가 가짜 HTTP 응답을 주입하거나 사용자를 속일 수 있습니다.

🇺🇸 원문 (English)

The HTTP header parsing code in Node.js 0.10.x before 0.10.42, 0.11.6 through 0.11.16, 0.12.x before 0.12.10, 4.x before 4.3.0, and 5.x before 5.6.0 allows remote attackers to bypass an HTTP response-splitting protection mechanism via UTF-8 encoded Unicode characters in the HTTP header, as demonstrated by %c4%8d%c4%8a.

📍 영향받는 시스템

Node.js 0.10.x(0.10.42 미만), 0.11.6-0.11.16, 0.12.x(0.12.10 미만), 4.x(4.3.0 미만), 5.x(5.6.0 미만)

⚔️ 공격 벡터

원격 공격자가 %c4%8d%c4%8a 형태의 UTF-8 인코딩 유니코드 문자를 HTTP 헤더에 삽입하여 검증 필터를 우회

🛡️ 대응 방법

Node.js를 0.10.42, 0.12.10, 4.3.0, 5.6.0 이상으로 즉시 업그레이드

🔧 검증 코드

출력된 버전이 v0.10.42 미만, v0.12.10 미만, v4.3.0 미만, v5.6.0 미만이면 취약 상태

Shell / Script
node -v

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js