VM2와 문제점

2025. 1. 18. 19:50Project/Javascript isolation bypass

 

VM2는 VM을 기반으로 만들어진 js 코드 격리 라이브러리이다. VM2는 VM에 membrane를 추가하여 만든 방어막이다.

아래 와 같은 코드를 VM에서 사용했을 경우, 호스트 context를 탈출 가능했을 것이다. 하지만, Vm2에서는 오류가 발생된다.

 

 

 

 

 

즉 추가적인 방어막을 통하여 적절히 방어한 것이다.

 

 

하지만  아래는 vm2에서 발생된 CVE이다.  try catch 구문을 이용하게 되면 exception이 발생하게 되고, 이는 host 코드에서 에러를 넘겨주고 이는 host에서 온 객체임으로 이를 타고 넘어갈 수 있다. 

 

 

'Project > Javascript isolation bypass' 카테고리의 다른 글

javascript 격리 기술 . VM  (1) 2025.01.17