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.
Security readout for executives and security teams
Plain-English summary
Applications using vm2 to run untrusted JavaScript can have their Node.js host process deliberately crashed. This primarily threatens service availability, potentially causing outages or repeated disruption. The supplied evidence identifies vm2 versions before 3.11.0 as affected and 3.11.0 as fixed.
Executive priority
Prioritize remediation promptly for public or multi-tenant code-execution services because an unauthenticated attacker may cause outages. Internally isolated deployments are lower urgency but still require upgrading. There is no supplied evidence of active exploitation or confidentiality and integrity impact.
Technical view
A Promise-constructor rejection can propagate from the sandbox to the host as an unhandled rejection, crashing Node.js. The earlier CVE-2026-22709 fix sanitized rejection callbacks in overridden .then() and .catch() methods but missed this executor path. The stated impact is host-process denial of service, not demonstrated data disclosure or modification.
Likely exposure
Exposure exists where vm2 versions below 3.11.0 execute untrusted or attacker-influenced JavaScript. Network-facing services offering code evaluation are especially concerning because the CVSS vector states remote, low-complexity, unauthenticated exploitation without user interaction. Actual reachability depends on each application’s integration and controls.
Exploitation context
The supplied sources describe a single-Promise trigger and assign CVSS 8.6, reflecting severe availability impact across a security boundary. However, the bundle marks this CVE as absent from KEV and provides no evidence of active exploitation. Treat exploitation status as unconfirmed.
Researcher notes
CWE-248 applies because an uncaught exception condition reaches the host. The important regression boundary is the Promise executor-to-unhandledRejection path omitted by the earlier callback sanitization. Validate version and trust-boundary exposure without reproducing the crash in production. The bundle does not establish arbitrary host code execution.
Mitigation direction
Upgrade vm2 to version 3.11.0 or later.
Prioritize internet-facing services that execute untrusted or user-controlled JavaScript.
Restrict access to sandbox execution features until affected deployments are upgraded.
Apply relevant vendor guidance for packaged vm2 distributions, including applicable Red Hat advisories.
Validation and detection
Inventory direct and transitive vm2 dependencies across applications and lockfiles.
Confirm every deployed vm2 version is 3.11.0 or later.
Identify routes, jobs, or APIs that pass attacker-influenced code into vm2.
Review Node.js process logs for unexplained unhandled rejections and crashes.
Verify upgraded services remain healthy under approved defensive regression testing.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-248: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references privilege impact, so privilege escalation and authorization behavior review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-248 · source CWE mapping
Uncaught Exception
Uncaught Exception represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.