La biblioteca de JavaScript vm2 acaba de lanzar dos nuevos parches para mitigar dos vulnerabilidades críticas, CVE-2023-29199 y CVE-2023-30547, ambos calificados 9.8 en el sistema de puntuación CVSS. versiones 3.9.16 y 3.9.17, respectivamente, contener las correcciones para los errores que permiten a un intruso escapar del entorno limitado y ejecutar código en el contexto del host.
Seung Hyun Lee, el investigador de seguridad responsable de descubrir y reportar las fallas, también ha publicado exploits PoC. Esto viene poco después de otra falla de escape de la caja de arena (CVE-2023-29017, CVSS 9.8) fue abordado. Los investigadores de Oxeye identificaron una vulnerabilidad de ejecución remota de código particularmente grave (CVE-2022-36067, Puntuación CVSS: 9.8) en vm2 el pasado diciembre, nombre en código Sandbreak.
CVE-2023-29199
versiones vm2 hasta 3.9.15 son vulnerables a un exploit que permite a los actores de amenazas eludir `handleException()` lógica de sanitización de excepciones. Este desvío permite la fuga de excepciones de host no desinfectadas que luego proporcionan los medios para escapar de la zona de pruebas y ejecutar código en el contexto del anfitrión. El problema fue corregido en la versión 3.9.16.
CVE-2023-30547
La versión `3.9.17` de `vm2` incluye un parche para una vulnerabilidad en el saneamiento de excepción que estaba presente en todas las versiones anteriores hasta `3.9.16`. Esta vulnerabilidad permitió a los atacantes utilizar una excepción de host sin desinfectar dentro de `handleException()` para escapar de la zona de pruebas y ejecutar código arbitrario en el contexto del host. A partir de ahora, no existen soluciones alternativas, por lo que se recomienda encarecidamente a los usuarios que actualicen a la versión más reciente.
¿Qué es la biblioteca de JavaScript vm2??
vm2 es una popular biblioteca de espacio aislado de JavaScript utilizada por diferentes programas, como IDE, editores de código, y herramientas de seguridad, que permite que el código se ejecute parcialmente en servidores Node.js aislados mientras protege los recursos del sistema y los datos externos del acceso no autorizado.