Google Chrome 85 corrige vulnerabilidad de ejecución de código

Google Chrome corrige una vulnerabilidad de severidad alta que podría permitir la ejecución de código arbitrario. La vulnerabilidad, registrada bajo el ID CVE-2020-6492, se debe a que el componente WebGL del navegador Chrome no maneja correctamente los objetos en la memoria. Este componente es una API de JavaScript que permite a los usuarios representar gráficos 2D y 3D dentro de su navegador.

Según el ataque de prueba de concepto (PoC) descrito por los investigadores de Cisco Talos, el problema existe en función de ANGLE, llamado «State :: syncTextures». Esta función es responsable de verificar si la textura tiene «DirtyBits». Estos son «conjuntos de bits» que indican si se ha cambiado un valor de estado específico, asociado con un bloque de memoria de la computadora.

Un atacante puede ejecutar código vulnerable a través de una función llamada drawArraysInstanced. Cuando el objeto de textura intenta syncState (a través de la función «Texture :: syncState») crea una condición de exploit use-after-free. El uso proviene de intentos de acceder a la memoria después de que se haya liberado, lo que puede hacer que un programa se bloquee o potencialmente puede resultar en la ejecución de código arbitrario.

La vulnerabilidad afecta a las versiones de Google Chrome 81.0.4044.138 (estable), 84.0.4136.5 (Dev) y 84.0.4143.7 (Canary).

Una solución ha sido implementada oficialmente en la versión 85.0.4149.0 para el canal estable, lanzada el 25/08/2020 de acuerdo al cronograma de actualizaciones de Chrome.

Se recomienda a los usuarios asegurarse de contar con la última versión disponible de Google Chrome.

Referencias: