🇰🇷 한글 설명
Node.js 4.8.5 이전, 6.11.5 이전, 8.8.0 이전 버전의 zlib 모듈이 windowBits 파라미터 값 8을 더 이상 유효하지 않은 값으로 처리하여 원격 공격자가 잡히지 않은 예외를 발생시켜 서비스 거부(DoS) 상태를 초래할 수 있습니다.
💡 쉬운 설명
Node.js의 압축 기능(zlib)에서 특정 파라미터 값을 보낼 때 프로그램이 예상치 못하게 충돌합니다. 누구나 인터넷을 통해 이 충돌을 유발할 수 있어서 서비스를 중단시킬 수 있습니다.
🇺🇸 원문 (English)
Node.js before 4.8.5, 6.x before 6.11.5, and 8.x before 8.8.0 allows remote attackers to cause a denial of service (uncaught exception and crash) by leveraging a change in the zlib module 1.2.9 making 8 an invalid value for the windowBits parameter.
📍 영향받는 시스템
Node.js 4.x (4.8.5 미만), 6.x (6.11.5 미만), 8.x (8.8.0 미만)
⚔️ 공격 벡터
zlib 압축을 사용하는 API 엔드포인트에 windowBits=8 파라미터를 포함한 요청 전송
🛡️ 대응 방법
Node.js를 4.8.5 이상, 6.11.5 이상, 또는 8.8.0 이상으로 업그레이드
🔧 검증 코드
명령어가 'Vulnerable' 결과를 출력하면 해당 버전이 취약함을 의미하며, 'Patched'가 출력되면 업데이트된 안전한 버전입니다.
node --version | grep -E '^v(4\.[0-8]\.|6\.[0-9]\.|8\.[0-7]\.)' && echo 'Vulnerable' || echo 'Patched'