**Vulnerabilidad Crítica en vm2: Un Riesgo Inminente para la Seguridad de Sistemas Aislados**
Recientemente, se ha reportado una vulnerabilidad crítica, catalogada como CVE-2026-93603, que ha obtenido una puntuación de 10.0 en el sistema de puntuación de vulnerabilidades CVSS. Esta calificación máxima indica un riesgo considerable para los sistemas que utilizan la biblioteca de virtualización vm2, que permite la ejecución de código JavaScript en entornos aislados. La trascendencia de esta vulnerabilidad no puede subestimarse, ya que afecta a desarrolladores y a empresas que utilizan esta biblioteca para garantizar la seguridad de sus aplicaciones, convirtiéndola en una cuestión de suma importancia para la ciberseguridad general.
Desde el punto de vista técnico, la vulnerabilidad se encuentra en las versiones de vm2 hasta la 3.12.0, siendo corregida en la versión 3.12.1. El problema radica en la incorrecta gestión de un receptor `this` nulo en el "apply trap" de su puente (lib/bridge.js). Cuando un código ejecutado en un entorno de sandbox (aislado) invoca una función no estricta proporcionada por el host sin un receptor definido —por ejemplo, llamando a `fn()` o utilizando métodos como `fn.call()`, `fn.apply(undefined)`, `Reflect.apply(fn, undefined, [])`, o `fn.bind()()`— el receptor indefinido se transmite directamente a la llamada del host. Esto provoca que el motor JavaScript V8 sustituya el contexto de `this` por el objeto global del host, lo que permite que el script en sandboxed obtenga un proxy activo del objeto global del host. Como resultado, un script no confiable puede acceder al objeto `process` y ejecutar código o comandos arbitrarios en el host, por ejemplo, mediante la llamada a `process.getBuiltinModule('child_process').execSync`. Para que se produzca la explotación, es necesario que la aplicación que integra vm2 exponga al menos una función no estricta al sandbox, ya que las funciones en modo estricto y los módulos ES no se ven afectados.
Esta vulnerabilidad se clasifica bajo CWE-94, lo que señala el tipo de debilidad de seguridad presente en el software afectado, específicamente una vulnerabilidad de ejecución remota de código.
En términos de vector de ataque, se clasifica como un ataque de red con baja complejidad. Esto significa que no se requieren privilegios especiales para llevar a cabo un ataque exitoso, ni tampoco se necesita la interacción del usuario. Con una puntuación CVSS de 10.0, se considera crítica según la escala del Common Vulnerability Scoring System v3.1, que va del 0 al 10. Las vulnerabilidades con puntuaciones superiores a 9.0 son consideradas de alto riesgo y normalmente permiten la ejecución remota de código, la escalada de privilegios o, en el peor de los casos, la total compromisión del sistema.
Para obtener información técnica adicional y detalles sobre los parches disponibles, los administradores de sistemas están invitados a consultar las siguientes referencias: https://github.com/patriksimek/vm2/security/advisories/GHSA-j89j-5m6r-cr2q y https://www.vulncheck.com/advisories/vm2-before-3.12.1-sandbox-escape-rce-via-non-strict-host-function.
Dada la gravedad de esta vulnerabilidad, se recomienda encarecidamente que todas las organizaciones que utilicen el software afectado apliquen de inmediato los parches de seguridad disponibles. Asimismo, es crucial que revisen sus sistemas en busca de posibles indicadores de compromiso y que monitoricen el tráfico de red para detectar actividad sospechosa relacionada con esta vulnerabilidad. La rápida respuesta a esta amenaza es vital para la protección de los sistemas y la integridad de los datos en un entorno digital cada vez más complejo y en constante evolución.