Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-92948— vm2 3.9.6 through 3.11.5 Sandbox Escape via node:test

Quick assessment

Affected
patriksimek vm2
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

vm2 版本 >= 3.9.6 且 <= 3.11.6 受 NodeVM 内置模块白名单绕过漏洞影响。当嵌入端显式允许 内置模块(例如配置为 )时,在 Node.js 24 及更高版本上可发生沙箱逃逸。 在 Node.js 24+ 中, 会暴露仅包含 schema 前缀的键 。由于 vm2 基于“族”(family-based)的 防护机制未覆盖该键,因此该键被存入通用的宿主直通加载器(host-passthrough loader)中。 中的 函数在执行内置模块查找前,会剥离单个 前缀。因此,沙箱内调用 时,实际

CVSS 9.9 · Critical
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-92948

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
vm2 3.9.6 through 3.11.5 Sandbox Escape via node:test
Source: CVE Program / CVE List V5
Vulnerability Description
vm2 versions >= 3.9.6 and <= 3.11.6 are affected by a NodeVM builtin allowlist bypass that permits a sandbox escape on Node.js 24 and newer when the embedder explicitly allows the node:test builtin (e.g. require: { builtin: ['node:test'] }). On Node.js 24+, module.builtinModules exposes the scheme-only key node:test, which is not covered by vm2's family-based DANGEROUS_BUILTINS protection, so it is stored in the generic host-passthrough loader. Because requireImpl() in lib/setup-node-sandbox.js strips a single 'node:' prefix before the builtin lookup, sandbox code calling require('node:node:test') resolves to the stored node:test key and receives a readonly proxy to the host module. Calls to node:test.run() are forwarded to the host implementation, which spawns a separate Node process for process-isolated test execution and passes through attacker-controlled execArgv values; supplying --eval=<JavaScript> therefore executes arbitrary JavaScript in an unrestricted host Node process outside the NodeVM sandbox. Fixed in vm2 3.11.7.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
保护机制失效
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
patriksimek vm2 3.9.6 ~ 3.11.7 -

II. Public POCs for CVE-2026-92948

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-92948

登录查看更多情报信息。

Vendor Advisories for CVE-2026-92948 (2)

Same Patch Batch · patriksimek · 2026-09-17 · 30 CVEs total

CVE-2026-92947 10.0 CRITICAL vm2 before 3.11.7 Memory Disclosure via Buffer Pool
CVE-2026-92941 10.0 CRITICAL vm2 3.11.3 before 3.11.7 TLS Trust Store Manipulation
CVE-2026-92960 10.0 CRITICAL vm2 before 3.11.6 Process-wide State Exposure via os and dns
CVE-2026-92940 10.0 CRITICAL vm2 3.11.3 through 3.11.6 HTTPS Credential Exposure via globalAgent
CVE-2026-92937 10.0 CRITICAL vm2 3.11.6 Remote Code Execution via Promise call/apply
CVE-2026-92946 10.0 CRITICAL vm2 before 3.11.7 Remote Code Execution via require.external
CVE-2026-92956 10.0 CRITICAL vm2 3.10.1 through 3.11.6 Sandbox Escape via WebAssembly.compileStreaming
CVE-2026-92953 10.0 CRITICAL vm2 3.11.0 through 3.11.7 Prototype Pollution via TypedArray
CVE-2026-92955 10.0 CRITICAL vm2 before 3.11.8 Sandbox Escape via NodeVM
CVE-2026-92957 9.9 CRITICAL vm2 before 3.11.7 Authentication Bypass via node: Prefix
CVE-2026-92939 9.9 CRITICAL vm2 3.11.3 through 3.11.6 Native Code Execution via crypto.setEngine
CVE-2026-92938 9.9 CRITICAL vm2 3.11.3 through 3.11.6 Remote Code Execution via node:sqlite
CVE-2026-92951 9.9 CRITICAL vm2 before 3.11.7 Module Allowlist Bypass via Custom Resolver
CVE-2026-92944 9.8 CRITICAL vm2 3.10.2 through 3.11.6 Sandbox Escape via Promise Protector
CVE-2026-92935 9.0 CRITICAL vm2 NodeVM Remote Code Execution via Array-Shaped Require
CVE-2026-92934 9.0 CRITICAL vm2 before 3.11.8 Sandbox Escape RCE via AggregateError
CVE-2026-92954 8.6 HIGH vm2 3.10.0 through 3.11.5 Denial of Service via Host Promise
CVE-2026-92950 8.6 HIGH vm2 before 3.11.7 Sandbox Escape via CLI require
CVE-2026-92958 8.5 HIGH vm2 before 3.11.7 Denylist Bypass via fs/promises
CVE-2026-92942 7.5 HIGH vm2 before 3.11.7 Timeout Bypass via FinalizationRegistry

Showing top 20 of 30 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-92948

No comments yet


Leave a comment