What’s Vulnerable › Vulnerabilities
CVE-2026-43999: vm2: NodeVM builtin allowlist bypass via `module` builtin's `Module._load` allows sandbox escape
- Severity: critical (CVSS 9.9 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 1.0% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2026-05-13 · updated 2026-10-26
- Weakness: CWE-863
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
- patriksimek vm2: before 3.11.0 — fixed in 3.11.0
How to fix
Upgrade to a fixed version: patriksimek vm2 3.11.0. Check the vendor advisory for mitigations.
References
- https://github.com/patriksimek/vm2/security/advisories/GHSA-947f-4v7f-x2v8
- https://access.redhat.com/errata/RHSA-2026:50850
- https://access.redhat.com/security/cve/CVE-2026-43999
- https://bugzilla.redhat.com/show_bug.cgi?id=2477196
- https://github.com/patriksimek/vm2/security/advisories/GHSA-947f-4v7f-x2v8
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-43999.json
Get alerted when CVE-2026-43999 or the next vulnerability affects your stack