Two Critical Wasmtime Flaws Could Let Malicious WebAssembly Modules Escape Sandboxes
Los administradores del proyecto Wasmtime han advertido sobre dos vulnerabilidades críticas en este entorno de ejecución de WebAssembly, las cuales podrían permitir que un módulo malicioso logre evadir los límites del entorno aislado (sandbox). Para explotar estas fallas, un atacante necesita primeramente compilar un módulo bajo su control utilizando una compilación vulnerable, y uno de los problemas descritos se limita de manera exclusiva a sistemas con arquitectura ARM64. Las puntuaciones otorgadas por los responsables en la escala CVSS alcanzaron una calificación muy alta, y hasta el momento no se han registrado ataques explotando estas vulnerabilidades.
Ambos errores se localizan en el compilador predeterminado que transforma el código en código máquina. El fallo aplicable a todas las arquitecturas surge de la manera en que se almacenaban los números para rastrear valores dentro de una función, donde un desbordamiento permitía generar código incorrecto que podía derivar en confusión de tipos y escape del aislamiento. Por su parte, la falla exclusiva de ARM64 está relacionada con la instrucción que realiza saltos condicionales basados en índices, la cual podía apuntar a ubicaciones erróneas si la tabla superaba cierto tamaño. Las versiones corregidas fueron puestas a disposición de los usuarios y se especifica que cada programa que incorpore este software como biblioteca debe ser recompilado con las versiones actualizadas.