CVE-2026-92958 in vm2
요약
\~에 의해 VulDB • 2026. 09. 17.
vm2 3.11.6 이전 버전에는 NodeVM에서 빌트인 모듈 차단 목록(builtin-module denylist) 우회 취약점이 존재합니다. 임베더가 와일드카드와 부정 항목(예: `require: { builtin: ['*', '-fs', '-child_process'] }`)을 함께 사용할 경우, lib/builtin.js 내에서 부정 항목이 정확한 모듈 이름으로 매칭되므로 `-fs`는 빌트인 fs만 제거하고 `fs/promises`와 같은 하위 경로는 제외하지 않습니다. 따라서 샌드박스화된 코드는 `require('fs/promises')` 또는 `require('node:fs/promises')`를 호출하여 fs가 차단되었음에도 불구하고 Promise 기반 파일 시스템 API에 접근할 수 있습니다. 또한 node: 접두사 처리도 일관되지 않아(예: `-node:fs/promises` 항목은 `require('fs/promises')`를 차단하지 않음), 호스트 파일 생성 및 쓰기가 fsp.writeFile()을 통해 확인되었으며, 기타 fs/promisms 작업(cp, mkdir, rename, rm, rmdir, truncate, 읽기 작업 등)에도 접근 가능합니다. 이 문제는 vm2 3.11.7에서 수정되었습니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.