CVE-2026-92948 in vm2
Resumen
por VulDB • 2026-09-17
Las versiones de vm2 >= 3.9.6 y <= 3.11.6 se ven afectadas por una vulnerabilidad que permite eludir la lista blanca (allowlist) de integraciones nativas en NodeVM, lo que posibilita una fuga del sandbox (sandbox escape) en Node.js 24 y versiones posteriores cuando el embedder habilita explícitamente la integración nativa node:test (por ejemplo, mediante `require: { builtin: ['node:test'] }`). En Node.js 24+, module.builtinModules expone la clave scheme-only node:test, que no está cubierta por la protección DANGEROUS_BUILTINS basada en familias de vm2; por lo tanto, se almacena en el cargador genérico host-passthrough. Debido a que requireImpl() en lib/setup-node-sandbox.js elimina un único prefijo 'node:' antes de la búsqueda del módulo nativo, el código del sandbox que llama a `require('node:node:test')` resuelve la clave node:test almacenada y recibe un proxy readonly hacia el módulo host. Las llamadas a node:test.run() se reenvían a la implementación del host, lo que genera un proceso Node separado para una ejecución de pruebas aislada por procesos (process-isolated) y pasa directamente los valores execArgv controlados por el atacante; proporcionar --eval=<JavaScript> ejecuta JavaScript arbitrario en un proceso Host Node sin restricciones fuera del sandbox de NodeVM. Corregido en vm2 3.11.7.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.