🇰🇷 한글 설명
Node.js의 해시 테이블 시드가 버전 내에서 고정되어 있어 hash flooding 공격에 취약했습니다. V8 스냅샷 빌드로 인해 초기 난수 시드가 시작 시 덮어써지면서 발생한 문제입니다. 공격자가 의도적으로 해시 충돌을 유발하여 서버 리소스를 고갈시킬 수 있습니다.
💡 쉬운 설명
Node.js 서버가 특정 방식의 데이터를 받으면 매우 느려지는 문제입니다. 공격자가 이를 악용하여 서버를 마비시킬 수 있습니다.
🇺🇸 원문 (English)
Node.js v4.0 through v4.8.3, all versions of v5.x, v6.0 through v6.11.0, v7.0 through v7.10.0, and v8.0 through v8.1.3 was susceptible to hash flooding remote DoS attacks as the HashTable seed was constant across a given released version of Node.js. This was a result of building with V8 snapshots enabled by default which caused the initially randomized seed to be overwritten on startup.
📍 영향받는 시스템
Node.js v4.0-4.8.3, v5.x 전체, v6.0-6.11.0, v7.0-7.10.0, v8.0-8.1.3
⚔️ 공격 벡터
Hash flooding을 통한 원격 DoS 공격 - 해시 충돌을 의도적으로 유발하여 CPU 연산량 폭증
🛡️ 대응 방법
영향받는 버전 이상의 패치 버전으로 업그레이드 (v4.8.4+, v5.x 이상, v6.11.1+, v7.10.1+, v8.1.4+)
🔧 검증 코드
반환된 Node.js 버전 번호가 영향받는 범위(v4.0-4.8.3, v5.x, v6.0-6.11.0, v7.0-7.10.0, v8.0-8.1.3)에 포함되면 취약하므로 즉시 업그레이드 필요
node --version | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' && npm ls 2>/dev/null | grep -i node