CVE-2026-44000
vm2: sandbox boundary bypass via host Promise resolution preserving host object identity
Description
vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.0, a sandbox boundary violation in vm2 allows host object identity to cross into the sandbox through host Promise resolution. When a host-side Promise that resolves to a host object is exposed to the sandbox, the value delivered to the sandbox .then() callback preserves host identity. This allows the sandbox to interact with the host object directly, including performing identity checks using host-side WeakMap and mutating host object state from inside the sandbox. This behavior occurs because the Promise fulfillment wrapper uses ensureThis() instead of the stronger cross-realm conversion path (from() / proxy wrapping). If no prototype mapping is found, ensureThis() returns the original object. As a result, objects resolved by host Promises can cross the sandbox boundary without proper isolation. This vulnerability is fixed in 3.11.0.
INFO
Published Date :
May 13, 2026, 6:16 p.m.
Last Modified :
Oct. 26, 2026, 5:10 p.m.
Remotely Exploit :
Yes !
Source :
[email protected]
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | MEDIUM | [email protected] | ||||
| CVSS 3.1 | MEDIUM | MITRE-CVE | ||||
| CVSS 3.1 | HIGH | [email protected] |
Solution
- Update vm2 to version 3.11.0 or later.
- Verify sandbox isolation is enforced.
- Review host object exposure in sandboxed environments.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-44000.
| URL | Resource |
|---|---|
| https://github.com/patriksimek/vm2/security/advisories/GHSA-mpf8-4hx2-7cjg | Exploit Vendor Advisory |
| https://github.com/patriksimek/vm2/security/advisories/GHSA-mpf8-4hx2-7cjg | Exploit Vendor Advisory |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-44000 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-44000
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-44000 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-44000 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Translated by [email protected]
Oct. 26, 2026
Action Type Old Value New Value Added Translation Title: vm2 de patriksimek, Description: vm2 es una vm/sandbox de código abierto para Node.js. Antes de la versión 3.11.0, una violación del límite de la sandbox en vm2 permite que la identidad de objetos del host cruce a la sandbox a través de la resolución de Promises del host. Cuando una Promise del lado del host que se resuelve en un objeto del host se expone a la sandbox, el valor entregado a la función de devolución de llamada .then() de la sandbox preserva la identidad del host. Esto permite a la sandbox interactuar directamente con el objeto del host, incluyendo la realización de comprobaciones de identidad utilizando WeakMap del lado del host y la mutación del estado del objeto del host desde dentro de la sandbox. Este comportamiento ocurre porque el envoltorio de cumplimiento de Promise utiliza ensureThis() en lugar de la ruta de conversión entre reinos más robusta (from() / envoltura de proxy). Si no se encuentra ninguna asignación de prototipo, ensureThis() devuelve el objeto original. Como resultado, los objetos resueltos por Promises del host pueden cruzar el límite de la sandbox sin el aislamiento adecuado. Esta vulnerabilidad se corrige en la versión 3.11.0. -
CVE Modified by [email protected]
Jun. 17, 2026
Action Type Old Value New Value Added Affected [{'vendor': 'patriksimek', 'product': 'vm2', 'versions': [{'status': 'affected', 'version': '< 3.11.0'}]}] -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Jun. 17, 2026
Action Type Old Value New Value Added SSVC {'id': 'CVE-2026-44000', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'poc'}, {'automatable': 'yes'}, {'technicalImpact': 'partial'}], 'version': '2.0.3', 'timestamp': '2026-05-13T18:20:50.439269Z'} -
Initial Analysis by [email protected]
May. 14, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N Added CPE Configuration OR *cpe:2.3:a:vm2_project:vm2:*:*:*:*:*:node.js:*:* versions up to (excluding) 3.11.0 Added Reference Type CISA-ADP: https://github.com/patriksimek/vm2/security/advisories/GHSA-mpf8-4hx2-7cjg Types: Exploit, Vendor Advisory Added Reference Type GitHub, Inc.: https://github.com/patriksimek/vm2/security/advisories/GHSA-mpf8-4hx2-7cjg Types: Exploit, Vendor Advisory -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
May. 13, 2026
Action Type Old Value New Value Added Reference https://github.com/patriksimek/vm2/security/advisories/GHSA-mpf8-4hx2-7cjg -
New CVE Received by [email protected]
May. 13, 2026
Action Type Old Value New Value Added Description vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.0, a sandbox boundary violation in vm2 allows host object identity to cross into the sandbox through host Promise resolution. When a host-side Promise that resolves to a host object is exposed to the sandbox, the value delivered to the sandbox .then() callback preserves host identity. This allows the sandbox to interact with the host object directly, including performing identity checks using host-side WeakMap and mutating host object state from inside the sandbox. This behavior occurs because the Promise fulfillment wrapper uses ensureThis() instead of the stronger cross-realm conversion path (from() / proxy wrapping). If no prototype mapping is found, ensureThis() returns the original object. As a result, objects resolved by host Promises can cross the sandbox boundary without proper isolation. This vulnerability is fixed in 3.11.0. Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N Added CWE CWE-693 Added Reference https://github.com/patriksimek/vm2/security/advisories/GHSA-mpf8-4hx2-7cjg