🇰🇷 한글 설명
Node.js 0.8.28 이전 및 0.10.30 이전 버전에서 깊은 JSON 객체의 파싱 시 V8 가비지 컬렉션과 인터럽트의 상호작용으로 인해 프로그램 스택 오버플로우가 발생합니다. 이로 인해 메모리 손상과 애플리케이션 크래시가 발생할 수 있습니다.
💡 쉬운 설명
Node.js에서 복잡하게 중첩된 JSON 데이터를 처리할 때 메모리 관리 오류로 인해 프로그램이 충돌할 수 있습니다. 공격자가 특수한 JSON 데이터를 보내면 서버를 다운시킬 수 있습니다.
🇺🇸 원문 (English)
Node.js 0.8 before 0.8.28 and 0.10 before 0.10.30 does not consider the possibility of recursive processing that triggers V8 garbage collection in conjunction with a V8 interrupt, which allows remote attackers to cause a denial of service (memory corruption and application crash) via deep JSON objects whose parsing lets this interrupt mask an overflow of the program stack.
📍 영향받는 시스템
Node.js 0.8.x (0.8.28 이전), Node.js 0.10.x (0.10.30 이전)
⚔️ 공격 벡터
깊은 중첩 구조를 가진 JSON 객체를 원격 공격자가 전송하여 대상 서버의 메모리 손상 및 크래시 유발
🛡️ 대응 방법
Node.js를 0.8.28 이상 또는 0.10.30 이상으로 업그레이드
🔧 검증 코드
VULNERABLE이 출력되면 취약한 버전입니다. OK가 출력되면 패치된 버전입니다.
node --version | grep -E '^v0\.(8\.[0-2][0-7]|10\.[0-2][0-9])' && echo 'VULNERABLE' || echo 'OK'