El Centro de Coordinación CERT (Grupo de Respuesta ante Emergencias Informáticas) ha publicado una advertencia sobre la detección de vulnerabilidades que afectan a aplicaciones y sitios web que utilizan la biblioteca ImageMagick en su configuración predeterminada para procesar o convertir imágenes. La explotación exitosa permite a un atacante leer y escribir archivos, según los permisos bajo los cuales se ejecuta ImageMagick. A esta vulnerabilidad se le ha asignado el nombre en clave ImageTragick2, en referencia a un problema identificado en 2016.
En los últimos dos meses, se han solucionado alrededor de un centenar de vulnerabilidades en ImageMagick, pero los problemas señalados por CERT no son causados por errores en el código de ImageMagick, sino por el uso de configuraciones predeterminadas que permiten la llamada a procesadores externos para los formatos SVG y PostScript.
El procesador en ImageMagick se selecciona según el contenido y no la extensión del archivo, por lo que si una aplicación filtra las cargas a nivel de extensiones, un atacante puede enviar datos en formatos SVG o PostScript, por ejemplo, disfrazados como archivos con extensión JPEG o PNG.
La posibilidad de explotación de la vulnerabilidad ha sido confirmada en aplicaciones basadas en Ruby on Rails y WordPress, pero no se descartan otros proyectos que utilizan ImageMagick para la conversión de imágenes, recortes y creación de miniaturas, como MediaWiki, ownCloud Classic y Redmine. El problema también afecta a herramientas de inteligencia artificial que invocan a ImageMagick al ejecutar tareas relacionadas con el procesamiento de imágenes.
Se presentan dos escenarios de ataque:
- La invocación del procesador de contenido en el lenguaje MSL (Lenguaje de Script Magick) mediante el envío de una imagen SVG especialmente diseñada, en la que el elemento contiene un enlace «xlink:href» a un recurso con el protocolo «MSL:». ImageMagick interpreta el contenido de este recurso como un script en el lenguaje MSL, permitiendo que en los scripts MSL se realicen operaciones de lectura y escritura de archivos. Además de MSL, un truco similar con SVG puede ser utilizado para procesar otros tipos de contenido peligroso.
- Llamada al intérprete de Ghostscript para procesar contenido en formato PostScript. Ghostscript se ejecuta con la opción «-dSAFER», que no limita el acceso al directorio /tmp, lo que permite a un atacante leer o modificar archivos en este directorio (por ejemplo, las aplicaciones pueden almacenar temporalmente en /tmp datos de sesión y archivos cargados). Además, se encuentran regularmente vulnerabilidades en Ghostscript que permiten eludir completamente la restricción «-dSAFER» (la última vulnerabilidad se reveló el 10 de noviembre).
Para bloquear las vulnerabilidades, no es suficiente actualizar ImageMagick, sino que se requiere modificar la configuración en el archivo /etc/ImageMagick/policy.xml, donde es necesario mantener solo el soporte para los formatos y operaciones más esenciales o al menos prohibir la llamada a manejadores externos para los formatos MSL, MVG, PS, EPS y PDF. Además, se recomienda aislar el código para la conversión de imágenes externas en un contenedor separado, verificar los archivos no solo por extensión, sino también por contenido, y configurar el monitoreo de los registros de ImageMagick para detectar fallos y actividades inusuales.
<policy domain=»coder» rights=»none» pattern=»MSL»/>
<policy domain=»delegate» rights=»none» pattern=»gs»/>
<policy domain=»coder» rights=»none» pattern=»{PS,PS2,PS3,EPS,EPS2,EPS3,EPI,EPSF,EPSI,EPT,EPT2,EPT3,PDF,AI,EPDF,PDFA,POCKETMOD,XPS,PCL}»/>
Fuente: opennet.ru
