CVE-2026-92962 in vm2
요약
\~에 의해 VulDB • 2026. 09. 17.
vm2는 신뢰할 수 없는 JavaScript를 실행하기 위한 샌드박스입니다. vm2 버전 3.11.3 이하에서 lib/setup-sandbox.js의 defaultSandboxPrepareStackTrace 함수는 prototype-bypassing define-property 원시 연산 대신 prototype-walking index assignment(lines[lines.length] = value)를 사용하여 출력 배열을 구성합니다. 이 브리지 내부 배열이 샌드박스 영역에 할당되므로, 샌드박스 내 코드는 관련 인덱스에 대해 Array.prototype에 accessor를 설치할 수 있습니다. 그러면 샌드박스가 error.stack(또는 Error.prepareStackTrace를 트리거하는 다른 상황)을 읽을 때마다 해당 accessor가 호출되어, 샌드박스 코드가 브리지에서 작성된 각 스택 트레이스 라인을 관찰하고 가로챌 수 있게 됩니다. 동일한 패턴이 에러 처리(catch) 분기에서도 사용됩니다. 기록되는 값은 포맷된 문자열에 불과하므로, 실제 영향력은 샌드박스 탈출보다는 정보 사이드 채널 및 vm2의 브리지-컨테이너 방어 불변량 위반으로 제한됩니다. 벤더는 이 문제를 Low로 평가합니다. 해당 문제는 Reflect.defineProperty를 통해 각 엔트리를 own data property로 설치하는 vm2 3.11.4에서 수정되었습니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.