Description
vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.0, a sandbox escape vulnerability in vm2 v3.10.5 allows any sandboxed code to crash the host Node.js process via a single Promise constructor that triggers an unhandled rejection propagating to the host. The fix for CVE-2026-22709 (v3.10.2) only sanitized the onRejected callback in .then() and .catch() overrides and did not address the executor-to-unhandledRejection path. This vulnerability is fixed in 3.11.0.
Published: 2026-05-13
Score: 8.6 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability resides in vm2’s handling of the Promise constructor. When sandboxed code creates a Promise, an unhandled rejection propagates to the host Node.js process, causing it to crash. The flaw is a classic example of an unhandled exception (CWE‑248) that yields a critical denial‑of‑service condition for the hosting application.

Affected Systems

The affected product is vm2 from patriksimek. All releases prior to version 3.11.0, including v3.10.5, are susceptible. The issue is resolved in v3.11.0 and later.

Risk and Exploitability

The CVSS score of 8.6 reflects a high‑severity impact, though the EPSS score is unavailable. The vulnerability is not listed in the CISA KEV catalog, indicating no publicly known exploits as of the last assessment. Exploitation requires the ability to run arbitrary sandboxed code; an attacker controlling such code can induce a host process crash. This creates an opportunity for a denial‑of‑service attack against any application that relies on vm2 to contain untrusted code.

Generated by OpenCVE AI on May 13, 2026 at 19:47 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade vm2 to version 3.11.0 or newer.
  • If upgrading is not immediately feasible, restrict untrusted code from creating any new Promise instances within vm2, or use a stricter sandbox configuration to limit Promise usage.
  • Deploy application monitoring to detect unexpected Node.js process terminations and trigger automated restarts or alerting to minimize downtime.

Generated by OpenCVE AI on May 13, 2026 at 19:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-hw58-p9xv-2mjh vm2 has a Sandbox Escape via Promise Constructor Unhandled Rejection (Process Crash DoS)
History

Mon, 18 May 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 14 May 2026 15:30:00 +0000

Type Values Removed Values Added
First Time appeared Vm2 Project
Vm2 Project vm2
CPEs cpe:2.3:a:vm2_project:vm2:*:*:*:*:*:node.js:*:*
Vendors & Products Vm2 Project
Vm2 Project vm2

Wed, 13 May 2026 20:15:00 +0000

Type Values Removed Values Added
First Time appeared Patriksimek
Patriksimek vm2
Vendors & Products Patriksimek
Patriksimek vm2

Wed, 13 May 2026 18:00:00 +0000

Type Values Removed Values Added
Description vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.0, a sandbox escape vulnerability in vm2 v3.10.5 allows any sandboxed code to crash the host Node.js process via a single Promise constructor that triggers an unhandled rejection propagating to the host. The fix for CVE-2026-22709 (v3.10.2) only sanitized the onRejected callback in .then() and .catch() overrides and did not address the executor-to-unhandledRejection path. This vulnerability is fixed in 3.11.0.
Title vm2: Sandbox Escape via Promise Constructor Unhandled Rejection (Process Crash DoS)
Weaknesses CWE-248
References
Metrics cvssV3_1

{'score': 8.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-18T15:17:23.687Z

Reserved: 2026-05-04T21:24:36.505Z

Link: CVE-2026-44001

cve-icon Vulnrichment

Updated: 2026-05-18T15:17:00.520Z

cve-icon NVD

Status : Modified

Published: 2026-05-13T18:16:16.720

Modified: 2026-05-18T16:16:31.053

Link: CVE-2026-44001

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-13T20:00:04Z

Weaknesses