🇰🇷 한글 설명
vm2는 Node.js용 VM/샌드박스 라이브러리로, 3.11.0 이전 버전에서 BaseHandler.getPrototypeOf에 접근하여 임의의 프로토타입을 획득할 수 있는 심각한 취약점이 존재합니다. 이를 통해 샌드박스 격리를 우회하고 호스트 시스템에 접근할 수 있습니다.
💡 쉬운 설명
vm2는 신뢰할 수 없는 코드를 안전하게 실행하기 위한 보안 상자입니다. 이 버그를 이용하면 공격자가 보안 상자의 벽을 뚫고 전체 시스템을 제어할 수 있습니다.
🇺🇸 원문 (English)
vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.0, It is possible to reach BaseHandler.getPrototypeOf, which can be used to get arbitrary prototypes. This vulnerability is fixed in 3.11.0.
⚔️ 공격 벡터
샌드박스 내 악의적 코드가 BaseHandler.getPrototypeOf를 이용하여 프로토타입 체인을 조작해 샌드박스 격리 우회
🛡️ 대응 방법
vm2를 3.11.0 이상으로 즉시 업그레이드
🔧 검증 코드
출력된 버전이 3.11.0 이상이면 안전하고 3.11.0 미만이면 취약합니다.
npm list vm2 2>/dev/null | grep -E 'vm2@'