Description
vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.0, NodeVM's builtin allowlist can be bypassed when the module builtin is allowed (including via the '*' wildcard). The module builtin exposes Node's Module._load(), which loads any module by name directly in the host context, completely bypassing vm2's builtin restriction. This allows sandboxed code to load excluded builtins like child_process and achieve remote code execution. This vulnerability is fixed in 3.11.0.
Affected products
vm2_project: vm2
References6
- github.com/patriksimek/vm2/security/advisories/GHSA-947f-4v7f-x… ExploitMitigationVendor Advisory
- github.com/patriksimek/vm2/security/advisories/GHSA-947f-4v7f-x… ExploitMitigationVendor Advisory
- access.redhat.com/errata/RHSA-2026:50850
- access.redhat.com/security/cve/CVE-2026-43999
- bugzilla.redhat.com/show_bug.cgi?id=2477196
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-43999…
Metrics
- CVSS 3.1
-
9.9
CRITICAL
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H - EPSS — exploit probability
- 1% percentile: 63 · as of 14 November 2026
- CWE
- CWE-863CWE-829
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.