Vulnerabilidad Crítica (10) En Biblioteca VM2 De NodeJS

Se ha publicado un código de un exploit de prueba de concepto para una vulnerabilidad crítica recientemente revelada en la popular biblioteca VM2, un sandbox de JavaScript que utilizan varios programas para ejecutar código de forma segura en un entorno virtualizado.

El término "sandbox" se refiere a un entorno aislado dentro del cual el código no fiable puede ejecutarse en un intento de mitigar el riesgo de que un código malicioso afecte a la máquina anfitriona que lo ejecuta. Aunque los sandboxes son extremadamente útiles como mecanismos de aislamiento, deben utilizarse con precaución, ya que es posible saltarse las restricciones, como se demuestra con esta vulnerabilidad.

La biblioteca VM2 está diseñada para ejecutar código no fiable en un contexto aislado en servidores NodeJS. Permite la ejecución parcial del código e impide el acceso no autorizado a recursos del sistema o a datos externos.

VM2 cuenta con más de 16 millones de descargas mensuales a través del repositorio de paquetes NPM y es utilizada por entornos de desarrollo integrados (IDE) y editores de código, soluciones de función como servicio (FaaS), entornos de Pentesting, herramientas de seguridad y diversos productos relacionados con JavaScript.

Nivel de gravedad máximo

Identificada como CVE-2023-29017, la vulnerabilidad recientemente corregida recibió la puntuación máxima de gravedad de CVSS 10. Fue descubierta por el equipo de investigación del Instituto Avanzado de Ciencia y Tecnología de Corea (KAIST).

Los investigadores descubrieron que la biblioteca VM2 gestionaba incorrectamente los objetos de host pasados a la función Error.prepareStackTrace cuando se producía un error asíncrono.

Explotar el problema de seguridad puede llevar a eludir las protecciones del sandbox y obtener la ejecución remota de código en el host. "Un actor de amenazas puede saltarse las protecciones del sandbox para obtener derechos de ejecución remota de código en el host que ejecuta el sandbox", reza el aviso de seguridad.

El problema afecta a todas las versiones de VM2 a partir de la 3.9.14 y anteriores. El problema se ha solucionado con el lanzamiento de una nueva versión de la biblioteca, la 3.9.15. No hay otra forma de solucionar el problema que no sea instalando la actualización.

Código de explotación disponible

Tras la publicación de la nueva versión de VM2 que aborda la vulnerabilidad crítica, el estudiante de doctorado del KAIST Seongil Wi publicó en GitHub, en un repositorio secreto, dos variaciones del código de explotación para CVE-2023-29017.

Los PoCs, en su forma publicada, simplemente crean un nuevo archivo llamado 'flag' en el sistema, lo que demuestra que las protecciones sandbox de VM2 pueden ser eludidas, permitiendo la ejecución de comandos para crear archivos arbitrarios en el sistema.

En octubre de 2022, VM2 sufrió otro fallo crítico, CVE-2022-36067, que también permitía a los atacantes escapar del entorno sandbox y ejecutar comandos en el sistema anfitrión. Este problema también se solucionó rápidamente con la publicación de una nueva versión de la biblioteca.

Fuente: BC


Via: blog.segu-info.com.ar
Vulnerabilidad Crítica (10) En Biblioteca VM2 De NodeJS Vulnerabilidad Crítica (10) En Biblioteca VM2 De NodeJS Reviewed by Zion3R on 14:26 Rating: 5