8 may. 2016

Vulnerabilidades críticas en ImageMagick exponen a millones de sitios web (Parchea!)

Se han anunciado cinco vulnerabilidades críticas en Imagemagick, una herramienta empleada por millones de sitios web para el tratamiento de imágenes. Estos problemas podrían permitir el compromiso de cualquier sistema que utilice esta utilidad.

ImageMagick es un conjunto de utilidades de código abierto para mostrar, manipular y convertir imágenes, capaz de leer y escribir más de 200 formatos. Se trata de un conjunto de utilidades de línea de comandos empleado para la manipulación de imágenes. Muchas aplicaciones Web como MediaWiki, phpBB o vBulletin, pueden usar ImageMagick para generar miniaturas. También es usado por otros programas para la conversión de imágenes.

En general, básicamente, los problemas residen en que ImageMagick pasa las imágenes a sus herramientas a través de comandos shell, pero no filtra adecuadamente los nombres de archivos y rutas, lo que permite a las imágenes acceder al sistema de archivos.

El primer problema (con CVE-2016-3714) reside en un filtrado inadecuado de caracteres al usar la característica "delegate" (empleada para tratar archivos con librerías externas). Podría permitir la ejecución remota de código durante la conversión de formatos de archivo.

Por otra parte, vulnerabilidades por un tratamiento inadecuado de los archivos podrían permitir borrar (CVE-2016-3715), mover (CVE-2016-3716) o leer (CVE-2016-3717) archivos arbitrarios del sistema afectado. Por último, con CVE-2016-3718, una vulnerabilidad Server Side Request Forgery (SSRF) que podría permitir a un atacante remoto realizar peticiones HTTP o FTP.

Los problemas fueron reportados por Nikolay Ermishkin del equipo de seguridad de Mail.Ru. Además se comprobado la facilidad con que es posible explotar los problemas y existen exploits públicos.
Se han publicado las versiones 7.0.1-1 y 6.9.3-10 que corrigen las vulnerabilidades. Dada la gravedad de los problemas se recomienda la actualización inmediata de los sistemas afectados.

Además, según se ha explicado el exploit para esta vulnerabilidad está siendo utilizado por algunos usuarios de manera pública, por lo que el riesgo es muy grande. El CVSS de dicha vulnerabilidad es de 10, ya que permite la ejecución de código remoto, sin necesidad de ninguna condición más. A continuación se enumeran todas las vulnerabilidades publicadas:
  • CVE-2016-3714. No se filtran caracteres correctamente y potencialmente se puede ejecutar código remoto.
  • CVE-2016-3715. Permite borrar archivos en el contexto del servidor.
  • CVE-2016-3716. Permite mover archivos.
  • • CVE-2016-3717. Permite la lectura de ficheros locales.
  • CVE-2016-3718. Este es un SSRF, con el que se pueden realizar peticiones HTTP o FTP.

PoC: Ejemplificando la vulnerabilidad

En esta prueba de concepto vamos a utilizar el software ImageMagick disponible, entre otros, en Kali Linux 2.0. En primer lugar, crearemos un archivo denominado poc.jpg y en su interior meteremos el código del payload malicioso, que será del tipo:
push graphic-context
viewbox 0 0 640 480
fill 'url(https://example.com/image.jpg"|ls "-la)'
pop graphic-context
Si nos fijamos en la línea fill 'url(https://example.com/image.jpg”|ls “-la)' encontramos la inyección del comando y su potencial ejecución. Cuando ImageMagick procesa el fichero creado, en este caso p.jpg se provoca la ejecución de comandos, en este caso se ejecuta la instrucción ls –la. Al igual que se ejecuta un listado de directorios se podría ejecutar código arbitrario, o no tan arbitrario, como por ejemplo una shell o una Meterpreter de Metasploit.
También se han publicado contramedidas como que antes del envío de la imagen a Imagemagick verificar que los archivos comienzan con los "bytes mágicos" correspondientes al tipo de archivo correspondiente. Los "bytes mágicos" son los primeros bytes de cada archivo que habitualmente se emplean para identificar el tipo de archivo (por ej. Las imágenes jpeg comienzan con "FF D8"). Igualmente se recomienda el uso de un archivo de políticas ("/etc/ImageMagick/policy.xm") para desactivar los codificadores afectados.

Fuente: Hispasec | El lado del mal

0 comentarios:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info
Si vas a dejar una consulta, procura tener habilitado tu perfil en Blogger o deja una forma de contacto.

Gracias por comentar!