🇰🇷 한글 설명
Node.js용 샌드박스 라이브러리인 vm2는 3.11.4 버전 이전에서 프로토타입 오염 및 내부 생성자 접근을 통해 샌드박스 탈출이 가능합니다. 이를 통해 공격자가 호스트 환경에서 임의의 코드를 실행할 수 있는 치명적인 취약점입니다.
💡 쉬운 설명
보안 격리 장치인 vm2 라이브러리에 심각한 결함이 있어, 공격자가 격리 환경을 뚫고 서버 전체를 장악할 수 있습니다. 이 문제는 최신 버전으로 업데이트하면 즉시 해결됩니다.
🇺🇸 원문 (English)
vm2 is an open source vm/sandbox for Node.js. Prior to version 3.11.4, by combining Buffer.call.call({}.__lookupGetter__, Buffer, "__proto__"), Buffer.call.call({}.__lookupSetter__, Buffer, "__proto__"), and Node.js's ERR_INVALID_ARG_TYPE Error, the host's TypeError constructor can be obtained, which allows the escape from the sandbox. This allows attackers to run arbitrary code. This issue has been patched in version 3.11.4.
⚔️ 공격 벡터
Buffer 및 프로토타입 조작을 통한 타입 에러 유발 및 호스트 생성자 접근을 이용한 샌드박스 탈출
🛡️ 대응 방법
vm2 패키지를 3.11.4 이상 버전으로 즉시 업그레이드하십시오.
🔧 검증 코드
출력된 버전이 3.11.4보다 낮으면 취약한 버전이므로 업그레이드가 필요합니다.
npm list vm2 2>/dev/null | grep vm2