CVE-2026-100722: vm2 unhandled Promise rejection in construct trap

CVE-2026-100722 · Severity: high · CVSS 8.6 · Published 2026-09-27

vm2 is a sandbox library that runs untrusted JavaScript code in isolation. A vulnerability in how vm2 handles constructor functions allows an attacker to cause an unhandled Promise rejection that crashes the host Node.js process. This can terminate the entire application or service running vm2, affecting availability for all users.

Technologies: vm2 (npm), Vm2. Vendors: npm.

Quick answers

Is CVE-2026-100722 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-100722 being exploited in the wild.
How severe is CVE-2026-100722?
High severity, with a CVSS score of 8.6, published 27 September 2026.
Which products and versions are affected?
vm2 (npm) <= 3.12.1, SEMVER:introduced=0,fixed=3.12.2; Vm2 before 3.12.2.
Is there a fix for CVE-2026-100722?
Yes. vm2 (npm): upgrade to 3.12.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-100722 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-100722?
Check whether you run vm2 (npm) or Vm2 at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • vm2 (npm): upgrade to 3.12.2 or later
    npm install vm2@3.12.2

Technical details

The BaseHandler.construct trap in vm2 fails to apply markHostPromiseHandled() sanitization to rejected Promises returned by constructable host functions, unlike the neighboring apply trap which does. An attacker can invoke an exposed host constructor that returns a rejected native Promise, causing it to cross the sandbox boundary unhandled; Node's strict unhandled-rejection policy then promotes this to an uncaught exception terminating the process. The vulnerability requires the embedder to expose a constructable host function and have Node's strict rejection policy enabled.

Affected products

  • vm2 before 3.12.2

Identifiers

  • CVE-2026-100722
  • GHSA-2v2p-6j97-cjg9

Timeline

  • 2026-09-08: disclosed
  • 2026-09-08: patched: version 3.12.2 released

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.