VYPR

npm package

vm2

pkg:npm/vm2

Vulnerabilities (51)

  • CVE-2026-92958HigSep 17, 2026
    affected < 3.11.7fixed 3.11.7

    vm2 through 3.11.6 contains a builtin-module denylist bypass in NodeVM. When the embedder uses the builtin wildcard together with negative entries (e.g. require: { builtin: ['*', '-fs', '-child_process'] }), negative entries are matched by exact module name in lib/builtin.js, so

  • CVE-2026-92957CriSep 17, 2026
    affected < 3.11.7fixed 3.11.7

    vm2 through 3.11.6 does not normalize `node:`-prefixed builtin specifiers when evaluating user-supplied negative (deny) entries in a NodeVM wildcard require policy. Although NodeVM strips the `node:` prefix during require() resolution, negative wildcard entries are matched by exa

  • CVE-2026-92952MedSep 17, 2026
    affected >= 3.11.4, < 3.11.7fixed 3.11.7

    vm2 versions 3.11.4 through 3.11.6 incompletely filter Node.js registered internal symbols across the sandbox boundary. The extraction filters in lib/setup-sandbox.js and the cross-realm symbol checks and write traps in lib/bridge.js use a fixed list of known dangerous registered

  • CVE-2026-92951CriSep 17, 2026
    affected < 3.11.7fixed 3.11.7

    vm2 before 3.11.7 contains an incorrect authorization vulnerability in the external package allowlist check that uses non-exact substring matching instead of full package-name boundary validation. Attackers can bypass the allowlist by requiring a colliding package name that conta

  • CVE-2026-92950HigSep 17, 2026
    affected < 3.11.7fixed 3.11.7

    vm2 before 3.11.7 contains a sandbox escape vulnerability in the CLI tool that allows attackers to execute arbitrary code in the host Node.js process. Attackers can supply a malicious script file to the vm2 CLI that uses require(__filename) to re-execute itself in the host realm,

  • CVE-2026-92949MedSep 17, 2026
    affected >= 3.9.6, < 3.11.7fixed 3.11.7

    vm2 versions from 3.9.6 before 3.11.7 fail to properly restrict access to accessor properties on frozen objects, allowing sandboxed scripts to bypass vm.freeze() and vm.readonly() protections. Attackers can use Object.getOwnPropertyDescriptor() or __lookupSetter__() to extract an

  • CVE-2026-92948CriSep 17, 2026
    affected >= 3.9.6, < 3.11.7fixed 3.11.7

    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

  • CVE-2026-92945MedSep 17, 2026
    affected < 3.11.7fixed 3.11.7

    vm2 before 3.11.7 contains a module allowlist bypass vulnerability in isPathAllowedForModule that uses raw string prefix matching instead of boundary-anchored comparison. Attackers can reach non-allowlisted packages sharing a prefix with allowlisted modules by performing relative

  • CVE-2026-92944CriSep 17, 2026
    affected >= 3.10.2, < 3.11.7fixed 3.11.7

    vm2 versions 3.10.2 through 3.11.6 contain a sandbox escape vulnerability on Node.js 26 where Promise.prototype.finally() bypasses vm2's wrapper protections due to a stale PromiseThenLookupChain protector in V8 14.6. Attackers can exploit this by creating an async function that r

  • CVE-2026-92941CriSep 17, 2026
    affected >= 3.11.3, < 3.11.7fixed 3.11.7

    vm2 versions from 3.11.3 before 3.11.7 expose the host tls module to NodeVM sandbox code, allowing attackers to call tls.setDefaultCACertificates() and replace process-wide certificate authorities. Attackers with access to allowed tls and url builtins can use URLSearchParams to c

  • CVE-2026-92940CriSep 17, 2026
    affected >= 3.11.3, < 3.11.7fixed 3.11.7

    vm2 versions 3.11.3 through 3.11.6 expose the host process's real https.globalAgent to sandboxed code when a NodeVM is explicitly configured to allow require('https'). The builtin loader wraps host modules in a read-only proxy, but method calls such as Agent.prototype.on() are fo

  • CVE-2026-92939CriSep 17, 2026
    affected >= 3.11.3, < 3.11.7fixed 3.11.7

    vm2 3.11.3 through 3.11.6 exposes the host Node.js crypto module to a NodeVM sandbox when the crypto builtin is allowed. The module is presented via a recursive read-only proxy, but its callable exports still execute with host-process authority. Sandboxed JavaScript can therefore

  • CVE-2026-92938CriSep 17, 2026
    affected >= 3.11.3, < 3.11.7fixed 3.11.7

    vm2 versions 3.11.3 through 3.11.6 expose Node.js's host node:sqlite module to code running in NodeVM when that builtin is permitted, either explicitly or through builtin: ['*']. The module is wrapped with vm.readonly(), which prevents property assignment but leaves host-authorit

  • CVE-2026-92937CriSep 17, 2026
    affected >= 3.11.6, < 3.11.7fixed 3.11.7

    vm2 3.11.6 is vulnerable to a sandbox escape leading to remote code execution in the host Node.js process. The fix for GHSA-m283-3h24-438v is incomplete: the bridge gate at lib/bridge.js:1624 identity-checks only the direct call target when deciding whether to rebuild/sanitise a

  • CVE-2026-92935CriSep 17, 2026
    affected >= 3.11.4, < 3.11.7fixed 3.11.7

    vm2 is a sandbox for running untrusted Node.js code. In versions >= 3.11.4 and <= 3.11.6, the NodeVM constructor computes `hasRealRequireConfig` with `typeof requireOpts === 'object' && requireOpts !== null`, so an array-shaped `require` value (for example `require: []`) satisfie

  • CVE-2026-47209HigJun 12, 2026
    affected < 3.11.4fixed 3.11.4

    vm2 is an open source vm/sandbox for Node.js. Prior to version 3.11.4, the BaseHandler.set trap in bridge.js (line 1231) ignores the receiver parameter and unconditionally writes to the host target object. Per the Proxy set trap specification, when receiver !== proxy (e.g., when

  • CVE-2026-47141MedJun 12, 2026
    affected < 3.11.4fixed 3.11.4

    vm2 is an open source vm/sandbox for Node.js. Prior to version 3.11.4, NodeVM exposes some process-wide observability builtins when they are allowed through require.builtin. The diagnostics_channel, async_hooks, and perf_hooks builtins are not blocked by the dangerous builtin den

  • CVE-2026-47139HigJun 12, 2026
    affected < 3.11.4fixed 3.11.4

    vm2 is an open source vm/sandbox for Node.js. Prior to version 3.11.4, NodeVM supports excluding public network builtins from the wildcard builtin option. With this configuration direct access to http, https, http2, net, dgram, tls, dns, and dns/promises is blocked. However, Node

  • CVE-2026-47135HigJun 12, 2026
    affected < 3.11.4fixed 3.11.4

    vm2 is an open source vm/sandbox for Node.js. Prior to version 3.11.4, Symbol.for override in setup-sandbox.js only intercepts 2 of 9 dangerous Node.js cross-realm symbols. Combined with the bridge's set/defineProperty/deleteProperty traps having no isDangerousCrossRealmSymbol ke

  • CVE-2026-45411CriMay 13, 2026
    affected < 3.11.3fixed 3.11.3

    vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.3, it is possible to catch a host exception using the yield* expression inside an async generator. When the generator is closed using the return function, the value is awaited on and exceptions thrown in the then call wi

Page 1 of 3