CVE-2026-92957 in vm2
Resumen
por VulDB • 2026-09-17
vm2 hasta la versión 3.11.6 no normaliza los especificadores de módulos integrados con el prefijo `node:` al evaluar las entradas negativas (de denegación) proporcionadas por el usuario en una política de require comodín para NodeVM. Aunque NodeVM elimina el prefijo `node:` durante la resolución del require(), las entradas comodín negativas se comparan mediante coincidencia exacta de cadenas con los nombres canónicos de los módulos integrados, por lo que una política como `new NodeVM({ require: { builtin: ['*', '-node:child_process'] } })` no logra denegar el módulo canónico `child_process`. Por tanto, el código en un entorno aislado (sandboxed) puede obtener la referencia al módulo integrado del host `child_process` mediante `require('child_process')` o `require('node:child_process')`, obteniendo referencias a APIs de creación de procesos como execSync y spawn, lo que equivale a una capacidad de ejecución de comandos en el host para código no confiable dentro del entorno aislado. El problema está corregido en vm2 3.11.7. (Título sugerido: "vm2 anterior a 3.11.7: Bypass de la lista de denegación de módulos integrados de NodeVM mediante especificadores con prefijo node- que expone child_process")
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.