🇰🇷 한글 설명
Node.js의 semver 패키지 4.3.2 이전 버전에서 긴 버전 문자열을 처리할 때 정규식 엔진이 과도한 CPU를 소비하는 ReDoS 취약점이 존재합니다. 공격자가 특수하게 구성된 버전 문자열을 입력하면 애플리케이션의 CPU를 고갈시켜 서비스 거부를 야기할 수 있습니다.
💡 쉬운 설명
semver 패키지가 버전 번호를 확인할 때 매우 긴 또는 특이한 문자를 보내면 프로그램이 검사하느라 멈춰버리는 문제입니다. 이를 악용하면 서버가 응답 불가 상태가 될 수 있습니다.
🇺🇸 원문 (English)
The semver package before 4.3.2 for Node.js allows attackers to cause a denial of service (CPU consumption) via a long version string, aka a "regular expression denial of service (ReDoS)."
📍 영향받는 시스템
Node.js semver 패키지 버전 4.3.2 미만
⚔️ 공격 벡터
semver 검증 함수에 악의적으로 구성된 긴 버전 문자열 입력
🛡️ 대응 방법
semver 패키지를 4.3.2 이상으로 업그레이드하거나 입력 길이 제한 추가
🔧 검증 코드
현재 설치된 semver 버전이 4.3.2 미만이면 취약함. 4.3.2 이상이면 패치됨.
npm list semver 2>/dev/null | grep semver || npm view semver version