vm2 has 35 CVEs on record. Disclosure cadence is accelerating: 35 in the last 90 days against 0 in the 90 before. The busiest recent month was September 2026 with 30. The median CVSS is 9.8 (critical), with 23 rated critical. None have a confirmed exploitation report. The dominant weakness classes are CWE-693 (8) and CWE-913 (5).
CVEs per month
Last 12 months, by publish date
- Exploited share
- 0% vs 1% corpus
- Median CVSS
- 9.8
- Publish → KEV
- —
- Last 90 days
- 35 prev 0
Worst active — by depth score
GHSA-9hxx-m5g2-2q3hCritical· 10.0Duplicate Advisory: vm2 contains a sandbox escape vulnerability55GHSA-xq74-c7jx-8w5jCritical· 10.0Duplicate Advisory: vm2 NodeVM can replace the host process TLS trust store55GHSA-x5qg-8pq6-39h6Critical· 10.0Duplicate Advisory: Sandboxed code can read and write host-realm memory via Node's shared Buffer pool55GHSA-gg6f-mhqm-f7gpCritical· 10.0Duplicate Advisory: Sandbox Escape (NodeVM)55GHSA-5v7w-95g5-pj6qCritical· 10.0Duplicate Advisory: Default VM can mutate host TypedArray and ArrayBuffer intrinsics after the host-prototype pollution fix55
vm2 vulnerabilities
CVEs affecting vm2, newest first. Open any entry for full detail, references, and exploit status.
35 CVEsRSS
GHSA-43rv-jrfh-9mrrMedium· 7.5Duplicate Advisory: vm2: NodeVM zlib Buffers expose pooled host memory across the VM boundary
Duplicate Advisory: vm2: NodeVM zlib Buffers expose pooled host memory across the VM boundary
GHSA-7rr2-8fr3-fjqxHigh· 6.8Duplicate Advisory: vm2: Host Promise rejection from an exposed constructor can terminate the vm2 host process
Duplicate Advisory: vm2: Host Promise rejection from an exposed constructor can terminate the vm2 host process
GHSA-c9wr-qm7p-p6vcCritical· 9.0Duplicate Advisory: vm2: NodeVM custom resolution bypasses external path boundaries
Duplicate Advisory: vm2: NodeVM custom resolution bypasses external path boundaries
GHSA-9hxx-m5g2-2q3hCritical· 10.0Duplicate Advisory: vm2 contains a sandbox escape vulnerability
Duplicate Advisory: vm2 contains a sandbox escape vulnerability
GHSA-4xmw-hh9q-4q7cCritical· 9.0Duplicate Advisory: vm2 sandbox escape to host RCE via revisited host-wrapped AggregateError bypassing Error sanitization cycle short-circuit
Duplicate Advisory: vm2 sandbox escape to host RCE via revisited host-wrapped AggregateError bypassing Error sanitization cycle short-circuit
GHSA-2vh9-cv26-p97mMedium· 5.8Duplicate Advisory: vm2: util.getCallSites() bypasses GHSA-v27g host-frame redaction, leaks host call stack
Duplicate Advisory: vm2: util.getCallSites() bypasses GHSA-v27g host-frame redaction, leaks host call stack
GHSA-mgj2-jqjq-q8ggCritical· 8.6Duplicate Advisory: vm2: Host-returned Promise rejection can bypass vm2's unhandled-rejection hardening and terminate the host process
Duplicate Advisory: vm2: Host-returned Promise rejection can bypass vm2's unhandled-rejection hardening and terminate the host process
GHSA-5v7w-95g5-pj6qCritical· 10.0Duplicate Advisory: Default VM can mutate host TypedArray and ArrayBuffer intrinsics after the host-prototype pollution fix
Duplicate Advisory: Default VM can mutate host TypedArray and ArrayBuffer intrinsics after the host-prototype pollution fix
GHSA-gg6f-mhqm-f7gpCritical· 10.0Duplicate Advisory: Sandbox Escape (NodeVM)
Duplicate Advisory: Sandbox Escape (NodeVM)
GHSA-9538-79j2-h62hHigh· 7.1Duplicate Advisory: `allowAsync: false` can be bypassed through Promise thenable assimilation in VM and NodeVM
Duplicate Advisory: `allowAsync: false` can be bypassed through Promise thenable assimilation in VM and NodeVM
GHSA-538q-xxpg-6h4rCritical· 10.0Duplicate Advisory: vm2 sandbox escape via WebAssembly.compileStreaming Promise species bypass
Duplicate Advisory: vm2 sandbox escape via WebAssembly.compileStreaming Promise species bypass
GHSA-x5qg-8pq6-39h6Critical· 10.0Duplicate Advisory: Sandboxed code can read and write host-realm memory via Node's shared Buffer pool
Duplicate Advisory: Sandboxed code can read and write host-realm memory via Node's shared Buffer pool
GHSA-vjcv-9j33-wj62High· 7.5Duplicate Advisory: vm2: timeout Option Bypass via FinalizationRegistry Cleanup Callback (Unbounded Host Event-Loop Block)
Duplicate Advisory: vm2: timeout Option Bypass via FinalizationRegistry Cleanup Callback (Unbounded Host Event-Loop Block)
GHSA-29x6-9qh5-83ggCritical· 10.0Duplicate Advisory: NodeVM `require.external` without an explicit `require.root` grants unrestricted host filesystem access and full RCE
Duplicate Advisory: NodeVM `require.external` without an explicit `require.root` grants unrestricted host filesystem access and full RCE
GHSA-63m2-qqch-jxv2Medium· 5.8Duplicate Advisory: vm2 leaks absolute host filesystem paths to sandbox code via error stack formatting
Duplicate Advisory: vm2 leaks absolute host filesystem paths to sandbox code via error stack formatting
GHSA-xq74-c7jx-8w5jCritical· 10.0Duplicate Advisory: vm2 NodeVM can replace the host process TLS trust store
Duplicate Advisory: vm2 NodeVM can replace the host process TLS trust store
GHSA-8mvv-mcc3-xwhhLow· 4.2Duplicate Advisory: External module allowlist uses a raw prefix test, so a prefix-sharing sibling package is treated as allowlisted
Duplicate Advisory: External module allowlist uses a raw prefix test, so a prefix-sharing sibling package is treated as allowlisted
GHSA-hwr5-cm8v-c76qCritical· 9.8Duplicate Advisory: vm2 sandbox escape on Node.js 26 through a stale PromiseThenLookupChain protector
Duplicate Advisory: vm2 sandbox escape on Node.js 26 through a stale PromiseThenLookupChain protector
GHSA-6jgm-4w45-vh8jCritical· 9.9Duplicate Advisory: vm2 crypto builtin loads attacker native code through setEngine
Duplicate Advisory: vm2 crypto builtin loads attacker native code through setEngine
GHSA-m7cq-7f2q-f9fhCritical· 9.9Duplicate Advisory: vm2 3.11.6 allows a sandboxed plugin to execute native code through `node:sqlite`
Duplicate Advisory: vm2 3.11.6 allows a sandboxed plugin to execute native code through `node:sqlite`
GHSA-3f84-vwv5-r42gCritical· 10.0Duplicate Advisory: vm2: GHSA-m283-3h24-438v fix bypass leads to host RCE via call/apply indirection
Duplicate Advisory: vm2: GHSA-m283-3h24-438v fix bypass leads to host RCE via call/apply indirection
GHSA-9fxx-mv6c-j5xpCritical· 9.0Duplicate Advisory: NodeVM nesting guard accepts array-shaped require and permits host RCE
Duplicate Advisory: NodeVM nesting guard accepts array-shaped require and permits host RCE
GHSA-9f3g-34x8-92jcMedium· 4.0Duplicate Advisory: vm2: vm.freeze()/vm.readonly() bypass via accessor descriptor
Duplicate Advisory: vm2: vm.freeze()/vm.readonly() bypass via accessor descriptor
GHSA-28q4-xrqh-9479Critical· 9.9Duplicate Advisory: vm2: NodeVM node:-prefixed negative builtin deny bypass exposes child_process
Duplicate Advisory: vm2: NodeVM node:-prefixed negative builtin deny bypass exposes child_process
GHSA-7c3p-84r8-h79qHigh· 8.5Duplicate Advisory: vm2: NodeVM builtin denylist bypass via fs/promises despite -fs, allowing host filesystem writes
Duplicate Advisory: vm2: NodeVM builtin denylist bypass via fs/promises despite -fs, allowing host filesystem writes
GHSA-6fvh-fgmg-3x7vCritical· 9.9Duplicate Advisory: vm2 Custom Module Resolver Can Bypass the External Package Allowlist by Loading a Colliding Host Package
Duplicate Advisory: vm2 Custom Module Resolver Can Bypass the External Package Allowlist by Loading a Colliding Host Package
GHSA-hc6q-4vvg-jf79Critical· 8.6Duplicate Advisory: vm2 CLI provides no sandbox isolation - host-realm require() is reachable from sandboxed scripts
Duplicate Advisory: vm2 CLI provides no sandbox isolation - host-realm require() is reachable from sandboxed scripts
GHSA-5843-9mh5-hhgwCritical· 10.0Duplicate Advisory: vm2 exposes host HTTPS credentials and TLS traffic through globalAgent
Duplicate Advisory: vm2 exposes host HTTPS credentials and TLS traffic through globalAgent
GHSA-wqg3-r97q-73xmCritical· 9.9Duplicate Advisory: NodeVM builtin allowlist bypass via node:test.run() execArgv allows sandbox escape
Duplicate Advisory: NodeVM builtin allowlist bypass via node:test.run() execArgv allows sandbox escape
GHSA-hmpr-c9rf-qcrfHigh· 6.8Duplicate Advisory: Incomplete nodejs.* symbol filtering lets sandbox override host WebStream state checks
Duplicate Advisory: Incomplete nodejs.* symbol filtering lets sandbox override host WebStream state checks