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.
Problem types
CWE-863: Incorrect Authorization
Product status
References
github.com/...ek/vm2/security/advisories/GHSA-947f-4v7f-x2v8
github.com/...ek/vm2/security/advisories/GHSA-947f-4v7f-x2v8