vm2 Sandbox Escape Vulnerability Leading to Remote Code Execution

Vulnerability

A sandbox escape vulnerability allowing remote code execution has been identified in vm2 versions through 3.10.5. This issue arises from the ability to access the host Object and use it to escape the sandbox. One exploitation method involves using the host Object's getOwnPropertySymbols method to retrieve a specific symbol that can be leveraged for malicious purposes.

Impact

Exploitation of this vulnerability allows for sandbox escape, with subsequent remote code execution on the host system.

Reproduction

The vulnerability can be reproduced by creating a script that accesses the host Object through a crafted payload. This payload can be designed to exploit the sandbox environment by, for example, using the host Object's getOwnPropertySymbols method to obtain a symbol that references a sensitive function, such as process.getBuiltinModule('child_process').execSync. Once this function is accessed, it can be used to execute arbitrary commands on the host system.

Remediation

Users are advised to update to vm2 version 3.11.0 or later, where this vulnerability has been patched.

Added: May 13, 2026, 7:54 PM
Updated: May 13, 2026, 7:54 PM

Vulnerability Rating

Custom Algorithm
spread
6.6
impact
10.0
exploitability
5.5
remediation
7.7
relevance
8.2
threat
6.4
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.