Se ha descubierto una
vulnerabilidad en el software de compresión 7-Zip, así como en cierto software
antivirus, que permite la ejecución de código tras abrir un archivo comprimido
especialmente manipulado
7-Zip es una popular
aplicación gratuita de código abierto usada para comprimir y descomprimir
archivos. Está desarrollada por Igor Pavlov, y además de usar el formato de
compresión 7z (también libre), soporta los formatos de archivos comprimidos más
conocidos (como ZIP, ARJ, tar, RAR…).
David L., cuya página
personal es landave.io, encontró esta vulnerabilidad cuando buscaba
vulnerabilidades en softwares antivirus. De hecho, esta vulnerabilidad primero
fue descubierta en un producto antivirus y después encontrada en 7-Zip. Esto se
debe a que el software antivirus y 7-Zip comparten la misma librería para
descomprimir archivos RAR, llamada UnRAR. La arquitectura software de esta
librería al parecer está cogida con pinzas, y si no la usas exactamente como el
código de ejemplo proporcionado, se quedan sin inicializar ciertas estructuras
de datos. Esto se puede aprovechar para efectivamente ejecutar código
arbitrario al descomprimir un archivo.
En la publicación
original se encuentra la explicación de cómo funciona exactamente la
explotación del programa. La explicación se puede seguir sin dificultades con
unas nociones básicas de exploiting en Windows. La cuestión es que cada día es
más difícil alcanzar un nivel básico en exploiting, ya que las distintas mitigaciones
implementadas por el sistema operativo hacen que cualquier exploit básico tenga
que saltarse una por una las mitigaciones relevantes.
Afortunadamente, ya
ha sido publicado el parche para esta vulnerabilidad en 7-Zip. A partir de la
versión 18.05 no sólo contiene contiene el parche, sino que implementa ASLR en
todos los ejecutables principales del programa. ASLR es una mitigación
implementada a nivel de sistema operativo sobre la gestión de la memoria que
dificulta la explotación de vulnerabilidades como éstas. Por desgracia, todavía
no se han publicado parches para el producto antivirus afectado. Por tanto, el
investigador que ha publicado la vulnerabilidad prefiere no decir cuál es el
producto afectado hasta entonces.
Más información:
- 7-Zip: From Uninitialized Memory to Remote Code
Execution https://landave.io/2018/05/7-zip-from-uninitialized-memory-to-remote-code-execution/
Fuente: Hispasec