Error crítico en sandbox de vm2 permite ejecutar código en los hosts

Iniciado por AXCESS, Mayo 07, 2026, 04:48:06 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Una vulnerabilidad crítica en la popular biblioteca de *sandboxing* para Node.js, vm2, permite escapar del entorno aislado (*sandbox*) y ejecutar código arbitrario en el sistema anfitrión.

Este problema de seguridad ha sido registrado bajo el identificador CVE-2026-26956 y se ha confirmado que afecta a la versión 3.10.4 de vm2, aunque es posible que versiones anteriores también sean vulnerables. Ya se ha publicado un código de explotación de prueba de concepto (PoC).

En el aviso de seguridad, el responsable del mantenimiento de la biblioteca señala que el problema solo afecta a entornos que utilizan Node.js 25 (confirmado específicamente en la versión 25.6.1) y que tienen habilitados tanto el manejo de excepciones de WebAssembly como el soporte para JSTag.

vm2 es una biblioteca de código abierto para Node.js que se utiliza para ejecutar código JavaScript no confiable dentro de un entorno aislado y restringido (*sandbox*). Es empleada habitualmente por plataformas de programación en línea, herramientas de automatización y aplicaciones SaaS que ejecutan scripts proporcionados por los usuarios.

La biblioteca tiene como objetivo aislar el código que se ejecuta en el entorno restringido del sistema anfitrión, bloqueando el acceso a APIs sensibles de Node.js, tales como las relacionadas con la gestión de procesos (*process*) y el sistema de archivos.

vm2 goza de una amplia difusión, registrando más de 1,3 millones de descargas semanales en npm (Node Package Manager), el gestor de paquetes por línea de comandos predeterminado para Node.js.

La vulnerabilidad CVE-2026-26956 se origina en el manejo erróneo que realiza la biblioteca de las excepciones que se transfieren entre el entorno aislado y el sistema anfitrión.

El aviso de seguridad explica que vm2 suele basarse en protecciones a nivel de JavaScript —diseñadas para salvaguardar el sistema frente a errores provenientes del anfitrión— y en objetos *Proxy* de puente, los cuales envuelven a los objetos que transitan entre distintos contextos; ambos mecanismos se ejecutan íntegramente dentro del entorno JavaScript.

Sin embargo, el mecanismo de manejo de excepciones de WebAssembly tiene la capacidad de interceptar los errores de JavaScript en un nivel inferior, dentro del motor V8 de Google, eludiendo así las defensas de seguridad de vm2 basadas en JavaScript.

Al provocar un error de tipo (*TypeError*) específicamente diseñado —mediante una conversión de un objeto *Symbol* a cadena de texto—, los atacantes pueden lograr que un objeto de error proveniente del sistema anfitrión se filtre de regreso al entorno aislado (*sandbox*) sin haber sido previamente sanitizado por vm2.

Dado que el objeto filtrado tiene su origen en el entorno del sistema anfitrión, los atacantes pueden aprovechar su cadena de constructores para recuperar el acceso a componentes internos de Node.js —como el objeto *process*—, lo que, en última instancia, les permite ejecutar comandos arbitrarios en el sistema anfitrión.

El aviso de seguridad publicado por el responsable del proyecto incluye también un código de explotación (PoC) que demuestra la ejecución remota de código en la máquina anfitriona. Se recomienda a los usuarios de vm2 actualizar a la versión 3.10.5 o posterior (la más reciente es la 3.11.2) lo antes posible para mitigar el riesgo de explotación de la vulnerabilidad CVE-2026-26956.

A principios de año, vm2 se vio afectada por otra vulnerabilidad crítica de escape del entorno aislado (*sandbox*) que podría derivar en la ejecución de código arbitrario en el sistema anfitrión subyacente, registrada bajo el identificador CVE-2026-22709.

Entre las vulnerabilidades anteriores de escape del entorno aislado que afectaron a esta misma biblioteca se encuentran la CVE-2023-30547, la CVE-2023-29017 y la CVE-2022-36067, lo cual pone de manifiesto el desafío que supone aislar de forma segura el código no confiable en entornos *sandbox* de JavaScript.

Fuente:
BleepingComputer
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login