CVE-2026-92938 in vm2
요약
\~에 의해 VulDB • 2026. 09. 17.
vm2 버전 3.11.3부터 3.11.6까지에서는 NodeVM 내에서 실행되는 코드에 대해 해당 내장 모듈이 명시적으로 허용되거나 builtin: ['*']을 통해 허용될 경우, Node.js의 호스트 node:sqlite 모듈이 노출됩니다. 이 모듈은 vm.readonly()로 래핑되어 속성 할당은 방지되지만 호스트 권한(callables) 호출에는 여전히 접근 가능합니다. 또한 리졸버는 'node:'로 시작하는 모든 요청을 코어 모듈 요청으로 처리하며, 런타임은 'node:' 접두사를 하나만 제거하므로 샌드박스 내의 'node:node:sqlite'에 대한 요청이 구성된 node:sqlite 엔트리로 해결됩니다. 따라서 샌드박스화된 코드는 확장 로딩이 활성화된 인메모리 DatabaseSync를 생성하고 신뢰할 수 없는 플러그인 패키지(경로는 __dirname에서 파생됨)에 번들된 네이티브 라이브러리에서 DatabaseSync.loadExtension()을 호출할 수 있습니다. SQLite는 이 라이브러리를 Node.js 호스트 프로세스에 로드하여 그 네이티브 진입점을 실행하므로, 샌드박스화된 플러그인은 호스트 프로세스의 권한으로 샌드박스 외부에서 임의의 네이티브 코드 실행을 수행하게 됩니다. 이 문제는 vm2 3.11.7에서 수정되었습니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.