🔍 CVE-2018-7158

7.5
CVSS Score
HIGH
2018-05-17
2026-10-08 22:16
✅ 완료

🇰🇷 한글 설명

Node.js 4.x 버전의 'path' 모듈 내 정규 표현식에서 정규 표현식 서비스 거부(ReDoS) 취약점이 발견되었습니다. 공격자가 특수하게 조작된 문자열을 path.dirname() 등의 함수에 전달하면 CPU 자원을 과도하게 점유하여 서비스 거부를 유발할 수 있습니다.

💡 쉬운 설명

특정한 규칙을 가진 긴 문자열을 입력하면 컴퓨터가 이를 처리하느라 과부하가 걸려 멈추게 만드는 공격입니다. Node.js 4 버전을 사용하는 프로그램이 이 공격에 취약할 수 있습니다.

🇺🇸 원문 (English)

The `'path'` module in the Node.js 4.x release line contains a potential regular expression denial of service (ReDoS) vector. The code in question was replaced in Node.js 6.x and later so this vulnerability only impacts all versions of Node.js 4.x. The regular expression, `splitPathRe`, used within the `'path'` module for the various path parsing functions, including `path.dirname()`, `path.extname()` and `path.parse()` was structured in such a way as to allow an attacker to craft a string, that when passed through one of these functions, could take a significant amount of time to evaluate, potentially leading to a full denial of service.

📍 영향받는 시스템

Node.js 4.x 버전 전체

⚔️ 공격 벡터

path.dirname(), path.extname(), path.parse() 함수에 정규 표현식 엔진을 마비시키는 악의적인 문자열 입력

🛡️ 대응 방법

Node.js 버전을 6.x 이상으로 업그레이드

🔧 검증 코드

명령어 결과로 v4.x.x 형태의 버전이 출력되면 해당 취약점에 노출된 상태입니다.

Shell / Script
node -v | grep -E '^v4\.'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js