vm2 sandbox escape via JSPI-backed Promise `.finally()` species bypass
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 1 fixed, 1 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
vm2 is an open source vm/sandbox for Node.js. Prior to version 3.11.4, a sandbox escape vulnerability in vm2 allows arbitrary code execution in the host process when untrusted code is executed with async support on runtimes exposing WebAssembly JSPI (WebAssembly.promising / WebAssembly.Suspending). In the tested configuration, a JSPI-backed Promise can reach Promise.prototype.finally() in a way that bypasses the expected Promise-species hardening and exposes a host-originated rejection object to attacker-controlled species logic, breaking the sandbox boundary. This issue has been patched in version 3.11.4.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| patriksimek | vm2 | before 3.11.4 | 3.11.4 | Patch available | CNA |
| — | vm2 (npm) | before 3.11.4 | 3.11.4 | Patch available | GHSA-6j2x-vhqr-qr7q |
- vm2 Vendorpatriksimek Affected before 3.11.4 Fixed in 3.11.4 Patch available CNA
- vm2 (npm) Vendor— Affected before 3.11.4 Fixed in 3.11.4 Patch available GHSA-6j2x-vhqr-qr7q
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:vm2_project:vm2:*:*:*:*:*:*:*:* | — | — | patriksimek |
- cpe:2.3:a:vm2_project:vm2:*:*:*:*:*:*:*:* Versions — — ·patriksimek
Remediation
- Fix · CNA vm2 (patriksimek) Fixed in 3.11.4
- Fix · GHSA-6j2x-vhqr-qr7q vm2 (npm) Fixed in 3.11.4 Advisory →
Red Hat 1 advisory
- RHSA-2026:36754 Released 2026-07-08 · Red Hat rating ImportantRed Hat Developer Hub 1.10.2 release.
- Red Hat Developer Hub 1.10 registry.redhat.io/rhdh/rhdh-hub-rhel9, registry.redhat.io/rhdh/rhdh-rhel9-operator
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Self-service automation portal 2 | Affected | — |
| Red Hat Developer Hub 1.10 | Fixed | RHSA-2026:36754 |
Not affected: 1 product
- Red Hat Developer Hub 1.10
Timeline
- 2026-10-02 Threatist record created from CVE-2026-47210
- 2026-10-03 Alias added: GHSA-6j2x-vhqr-qr7q
References
More patriksimek vulnerabilities
- TI-2023-14382 Sandbox Escape in vm2 CVSS 3.1CRITICAL 10.0
- TI-2023-13478 vm2 Sandbox Escape vulnerability CVSS 3.1CRITICAL 10.0
- TI-2026-63070 vm2 before 3.12.1 Sandbox Escape via Promise Symbol.species CVSS 4.0CRITICAL 10.0
- TI-2026-63067 vm2 before 3.12.1 Sandbox Escape RCE via Non-Strict Host Function CVSS 4.0CRITICAL 10.0
- TI-2026-62623 vm2 before 3.11.6 Process-wide State Exposure via os and dns CVSS 4.0CRITICAL 10.0
- TI-2026-62618 vm2 before 3.11.8 Sandbox Escape via NodeVM CVSS 4.0CRITICAL 10.0
Sources
- CVE-2026-47210 · CVE Program
- CVE-2026-47210 · NVD
- FIRST EPSS
- GHSA-6j2x-vhqr-qr7q · GitHub Advisory Database · CC BY 4.0
- CVE-2026-47210 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences