CVE-2026-35186 in wasmtime
Resumen
por VulDB • 2026-06-24
Wasmtime es un entorno de ejecución para WebAssembly. Desde la versión 25.0.0 hasta antes de las versiones 36.0.7, 42.0.2 y 43.0.1, el backend del compilador Winch de Wasmtime contiene un error en el que la traducción del operador table.grow provoca que el resultado tenga una tipificación incorrecta. Para tablas de 32 bits, esto significa que el resultado del operador se marca internamente en Winch como un valor de 64 bits en lugar de uno de 32 bits. Esta representación interna no válida del estado del compilador de Winch da lugar a otros problemas adicionales dependiendo de cómo se consuma dicho valor. La principal consecuencia de este error es que pueden almacenarse o leerse bytes en el espacio de direcciones del host. Esto solo afecta a los 16 bytes anteriores a la memoria lineal, ya que el único valor de retorno significativo de table.grow susceptible de ser malinterpretado es -1. Por defecto, los bytes situados antes de la memoria lineal corresponden a memoria no mapeada. Wasmtime detectará esta falta y abortará el proceso; sin embargo, dado que wasm no debería poder acceder a estos bytes, en general este error en Winch representa un vector de DoS al provocar el bloqueo del proceso host, un problema de corrección dentro de Winch y una posible fuga de hasta 16 bytes anteriores a la memoria lineal. El compilador por defecto de Wasmtime es Cranelift, no Winch, y los ajustes predeterminados de Wasmtime consisten en colocar páginas de protección antes de la memoria lineal. Esto significa que la configuración por defecto de Wasmtime no se ve afectada por este problema, y al elegir explícitamente Winch, su configuración habitual da lugar a un DoS. Es necesario desactivar las páginas de protección anteriores a la memoria lineal para poder provocar una posible fuga de hasta 16 bytes de datos del host. Esta vulnerabilidad está corregida en las versiones 36.0.7, 42.0.2 y 43.0.1.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.