CVE-2026-43999

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.
Configurations

Configuration 1 (hide)

cpe:2.3:a:vm2_project:vm2:*:*:*:*:*:node.js:*:*

History

26 Oct 2026, 17:10

Type Values Removed Values Added
Summary
  • (es) vm2 es una vm/sandbox de código abierto para Node.js. Antes de la versión 3.11.0, la lista de permitidos (allowlist) de módulos integrados (builtin) de NodeVM puede eludirse cuando el módulo integrado ’module’ está permitido (incluyendo a través del comodín ’*’). El módulo integrado ’module’ expone Module._load() de Node, que carga cualquier módulo por nombre directamente en el contexto del host, eludiendo completamente la restricción de módulos integrados (builtin) de vm2. Esto permite que el código en el sandbox cargue módulos integrados (builtins) excluidos como ’child_process’ y logre la ejecución remota de código. Esta vulnerabilidad está corregida en la versión 3.11.0.

Information

Published : 2026-05-13 18:16

Updated : 2026-10-26 17:10


NVD link : CVE-2026-43999

Mitre link : CVE-2026-43999

CVE.ORG link : CVE-2026-43999


JSON object : View

Products Affected

vm2_project

  • vm2
CWE
CWE-863

Incorrect Authorization

CWE-829

Inclusion of Functionality from Untrusted Control Sphere