Se trata de un grave fallo de seguridad a través del cual un atacante podría luego instalar programas; ver, cambiar o eliminar datos; así como crear nuevas cuentas de usuario con derechos de administrador en aquellos equipos con el 7-Zip instalado.
Todas las versiones anteriores a la versión 18.05 (30-4-2018) son vulnerables.
The vulnerability in RAR unpacking code was fixed (CVE-2018-10115).
La solución es simple: accede a la página de 7-Zip y esperar a que lancen una actualización, o claro, usar una versión anterior de 7-Zip o irnos directamente a WinRAR. Recomendamos ejecutarlo como usuario sin privilegios de administrador para poder minimizar el daño que pueda provocar en nuestro sistema en caso de encontrarse nuevos fallos de vulnerabilidad, ahora o en un futuro.
Download 7-Zip 18.05 (2018-04-30) for Windows:
Link | Type | Windows | Size |
---|---|---|---|
Download | .exe | 32-bit x86 | 1 MB |
Download | .exe | 64-bit x64 | 1 MB |
La vulnerabilidad en 7-Zip, que podría permitir la ejecución de código arbitrario. El método NArchive :: NRar :: CHandler :: Extract en CPP / 7zip / Archive / Rar / RarHandler.cpp realiza la decodificación de datos de archivo utilizando un estado en gran parte no inicializado. Este estado junto con la falta de aleatoriedad de diseño del espacio de direcciones (ASLR) en los archivos ejecutables principales (7zFM.exe, 7zG.exe, 7z.exe) puede causar daños en la memoria que conducen a la ejecución de código arbitrario. (CVE-2018-10115)
La explotación exitosa de esta vulnerabilidad podría permitir la ejecución de código arbitrario.
Dependiendo de los privilegios asociados con el usuario, un atacante podría luego instalar programas; ver, cambiar o eliminar datos; o cree cuentas nuevas con derechos de usuario completos. Los usuarios cuyas cuentas están configuradas para tener menos derechos de usuario en el sistema podrían verse menos afectados que aquellos que operan con derechos administrativos de usuario.
El error es una consecuencia del diseño (parcialmente) heredado de UnRAR. Si una clase depende de sus clientes para usarla correctamente con el fin de evitar el uso de miembros de la clase no inicializados, está condenado al fracaso.
Hemos visto cómo este error (a primera vista) que parece inocente se puede convertir en un exploit de ejecución de código armado confiable. Debido a la falta de ASLR en los ejecutables principales, la única parte difícil del exploit fue llevar a cabo el masaje de montón dentro del contexto restringido de la extracción de RAR.
Fuentes:
https://blog.elhacker.net/2018/05/descubierta-grave-vulnerabilidad-en-7-zip-rce.html
https://landave.io/2018/05/7-zip-from-uninitialized-memory-to-remote-code-execution/
https://www.cisecurity.org/advisory/a-vulnerability-in-7-zip-could-allow-for-arbitrary-code-execution_2018-049/