Description
vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.0, It is possible to reach BaseHandler.getPrototypeOf, which can be used to get arbitrary prototypes. This vulnerability is fixed in 3.11.0.
Published: 2026-05-13
Score: 10 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability in vm2 allows an attacker to call BaseHandler.getPrototypeOf, exposing arbitrary prototypes to the sandbox. This flaw, classified as CWE-94, enables the attacker to escape the sandbox boundary and potentially execute arbitrary code within the host Node.js process. Because the sandbox is intended to isolate malicious scripts, this escape undermines the confidentiality, integrity, and availability of the encompassing application.

Affected Systems

The affected product is the vm2 sandbox library distributed by patriksimek. All released versions prior to 3.11.0 are vulnerable. The library is commonly used to execute untrusted JavaScript code in a controlled Node.js environment.

Risk and Exploitability

The CVSS score of 10.0 indicates critical severity, and the absence of an EPSS entry suggests limited publicly available exploitation data, yet the inherent risk remains high. The flaw is listed as not in the CISA KEV catalog, but its impact is steep enough that any application that relies on vm2 to sandbox untrusted input is at risk. The likely attack vector is through the injection of crafted code that invokes BaseHandler.getPrototypeOf, which can be triggered by any code that exercises vm2's API for executing user content. The vulnerability allows local or remote attackers to achieve full process compromise when the sandbox is used in environments where it is assumed to be isolated.

Generated by OpenCVE AI on May 13, 2026 at 20:27 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the vm2 library to version 3.11.0 or later and update any related lockfiles to lock the secure version.
  • Audit any custom code that interacts with vm2 internals to ensure it does not call BaseHandler.getPrototypeOf or expose unsafe APIs.
  • If an upgrade cannot be performed immediately, restrict the use of vm2 to strictly benign code and consider replacing it with an alternative sandbox that does not expose this internal method.

Generated by OpenCVE AI on May 13, 2026 at 20:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-qcp4-v2jj-fjx8 vm2 has a Sandbox Escape Vulnerability
History

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 21:15:00 +0000

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

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

Type Values Removed Values Added
Metrics ssvc

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


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, It is possible to reach BaseHandler.getPrototypeOf, which can be used to get arbitrary prototypes. This vulnerability is fixed in 3.11.0.
Title vm2: Sandbox Escape
Weaknesses CWE-94
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-15T03:55:56.089Z

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

Link: CVE-2026-44006

cve-icon Vulnrichment

Updated: 2026-05-13T18:09:06.025Z

cve-icon NVD

Status : Analyzed

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

Modified: 2026-05-14T15:19:08.680

Link: CVE-2026-44006

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses