🔍 CVE-2020-8287

6.5
CVSS Score
MEDIUM
2021-01-06
2026-06-17 03:26
✅ 완료

🇰🇷 한글 설명

Node.js의 특정 버전에서 HTTP 요청 시 동일한 헤더 필드가 두 번 포함될 경우, 첫 번째 헤더만 인식하고 두 번째 헤더를 무시하는 취약점이 존재합니다. 이로 인해 프록시 서버와 백엔드 서버 간의 해석 차이가 발생하여 HTTP 요청 스머글링(Request Smuggling) 공격이 가능해집니다.

💡 쉬운 설명

웹 서버가 요청 메시지를 읽을 때 똑같은 이름의 명령어가 두 개 있으면 하나를 무시해버리는 문제입니다. 이 차이를 이용해 공격자가 몰래 다른 요청을 끼워 넣어 서버를 속일 수 있습니다.

🇺🇸 원문 (English)

Node.js versions before 10.23.1, 12.20.1, 14.15.4, 15.5.1 allow two copies of a header field in an HTTP request (for example, two Transfer-Encoding header fields). In this case, Node.js identifies the first header field and ignores the second. This can lead to HTTP Request Smuggling.

📍 영향받는 시스템

Node.js 10.23.1 미만, 12.20.1 미만, 14.15.4 미만, 15.5.1 미만 버전

⚔️ 공격 벡터

HTTP 요청 헤더에 중복된 필드(예: Transfer-Encoding)를 삽입하여 프록시와 서버 간의 해석 불일치 유도

🛡️ 대응 방법

Node.js를 보안 패치가 적용된 최신 버전(10.23.1, 12.20.1, 14.15.4, 15.5.1 이상)으로 업데이트

🔧 검증 코드

출력된 버전이 취약점이 해결된 버전(10.23.1, 12.20.1, 14.15.4, 15.5.1 이상)인지 확인

Shell / Script
node -v

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js