🇰🇷 한글 설명
Node.js의 uglify-js 패키지 2.6.0 이전 버전에서 정규표현식 기반 서비스 거부(ReDoS) 취약점이 존재합니다. 특정 입력값을 파싱할 때 정규표현식 처리로 인한 과도한 CPU 사용으로 인해 서비스 거부 공격이 가능합니다.
💡 쉬운 설명
uglify-js 라이브러리가 특정 코드를 처리할 때 너무 오래 계산하게 만들어 프로그램을 느려지거나 멈추게 할 수 있습니다. 코드를 축소하는 과정에서 악의적인 입력으로 CPU를 과부하시키는 공격입니다.
🇺🇸 원문 (English)
The uglify-js package before 2.6.0 for Node.js allows attackers to cause a denial of service (CPU consumption) via crafted input in a parse call, aka a "regular expression denial of service (ReDoS)."
📍 영향받는 시스템
uglify-js < 2.6.0 (Node.js 패키지)
⚔️ 공격 벡터
공격자가 parse() 함수에 특별히 만든 악성 입력값을 전달하여 정규표현식 처리 과정에서 CPU 사용률을 극대화
🛡️ 대응 방법
uglify-js를 2.6.0 이상으로 업그레이드 (npm update uglify-js)
🔧 검증 코드
출력에서 uglify-js의 버전이 2.6.0 이상이면 안전, 2.5.x 이하면 취약점 존재
npm list uglify-js 2>/dev/null | grep uglify-js | head -1