🇰🇷 한글 설명
Node.js 6.16.0 및 이전 버전에서 HTTP/HTTPS Keep-alive 연결이 최대 2분 동안 비활성 상태로 유지될 수 있는 취약점입니다. 이로 인해 서버 자원이 점유되어 서비스 거부(DoS) 공격에 노출될 위험이 있습니다.
💡 쉬운 설명
서버와 연결된 통로가 사용하지 않을 때도 너무 오랫동안 열려 있어, 공격자가 이 통로를 모두 차지해 버릴 수 있는 문제입니다. 이로 인해 실제 사용자가 서버에 접속하지 못하게 될 수 있습니다.
🇺🇸 원문 (English)
Keep-alive HTTP and HTTPS connections can remain open and inactive for up to 2 minutes in Node.js 6.16.0 and earlier. Node.js 8.0.0 introduced a dedicated server.keepAliveTimeout which defaults to 5 seconds. The behavior in Node.js 6.16.0 and earlier is a potential Denial of Service (DoS) attack vector. Node.js 6.17.0 introduces server.keepAliveTimeout and the 5-second default.
📍 영향받는 시스템
Node.js 6.16.0 및 그 이전 버전
⚔️ 공격 벡터
공격자가 다수의 HTTP Keep-alive 연결을 생성하고 유지하여 서버의 연결 자원을 고갈시키는 방식
🛡️ 대응 방법
Node.js를 6.17.0 또는 8.0.0 이상의 최신 버전으로 업데이트하여 server.keepAliveTimeout 설정을 적용함
🔧 검증 코드
출력된 버전이 6.16.0 이하인지 확인하여 취약 여부를 판단함