p PatchFirst

PatchFirst · Latest vulnerabilities

vm2 3.11.8: known vulnerabilities

Known vulnerabilities affecting vm2 3.11.8: 4. Compare the fixes below with your installed release.

RSS ↗
Filter vulnerabilities
Clear filters

Vulnerabilities: 4

  1. CVE-2026-100723

    Medium · CVSS 6.9EPSS 0.32%Public exploitFix available

    vm2 before 3.12.2 Memory Disclosure via zlib Buffer Pool

    vm2 before 3.12.2 does not apply its Buffer backing-store ownership invariant (byteOffset === 0 and buffer.byteLength === length) to Buffers returned from host builtin modules. When an application explicitly exposes Node's zlib module through NodeVM's builtin allowlist (require: { builtin: ['zlib'] }), zlib.deflateSync can return a Buffer backed by Node's shared small-buffer pool whose .buffer is the entire pool. Untrusted guest code can construct a full-width view of that ArrayBuffer (Buffer.from(result.buffer, 0, result.buffer.byteLength)) to read and modify bytes belonging to unrelated host buffers, disclosing and corrupting host-realm mem

    • Update to 3.12.2
    Published Updated
  2. CVE-2026-100722

    High · CVSS 8.9EPSS 0.26%Public exploitFix available

    vm2 before 3.12.2 Host Process Termination via Construct Trap

    vm2 before 3.12.2 does not apply host-side Promise rejection handling in the sandbox-to-host construct trap. In BaseHandler, the apply trap calls markHostPromiseHandled() on the returned value, but the adjacent construct path returns the result of Reflect.construct without the same sanitization. If an embedder exposes a constructable host function whose constructor returns a native rejected Promise, an untrusted script executed via VM.run can invoke it with `new` and ignore the result; the rejected host Promise crosses the bridge unhandled and, under Node's strict unhandled-rejection policy, is promoted to an uncaught exception that terminate

    • Update to 3.12.2
    Published Updated
  3. CVE-2026-100721

    Critical · CVSS 9.5EPSS 0.4%Public exploitFix available

    vm2 before 3.12.2 Authorization Bypass via Custom Resolver

    vm2 before 3.12.2 contains an authorization bypass in the NodeVM external-module resolver. When an embedder configures `require.external` with a custom resolver (and `context: 'host'`), `LegacyResolver.customResolve` in lib/resolver-compat.js records the resolved module directory in `this.externals` as `new RegExp('^' + escapeRegExp(resolvedPath))`, without requiring a path separator or end-of-string boundary. Untrusted guest code can therefore require the allowlisted module (e.g. `foo`) and then require the absolute path of a non-allowlisted sibling whose path merely shares the resolved prefix (e.g. `.../node_modules/foo2/index.js`); the sib

    • Update to 3.12.2
    Published Updated
  4. CVE-2026-93605

    Critical · CVSS 10.0EPSS 0.73%Public exploitFix available

    vm2 NodeVM before 3.12.1 Remote Code Execution via child_process

    vm2 NodeVM versions before 3.12.1 contain a sandbox escape vulnerability where the DANGEROUS_BUILTINS denylist omits child_process despite blocking other host-spawning modules. Attackers can require child_process and execute arbitrary commands on the host system when NodeVM is configured with builtin:['*'] or explicit child_process allowance.

    • Update to 3.12.1
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →