ImageMagick Security

Apoya a HackTricks

Consulta más detalles en https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html

ImageMagick, una versátil biblioteca de procesamiento de imágenes, presenta un desafío en la configuración de su política de seguridad debido a sus amplias opciones y la falta de documentación detallada en línea. Los usuarios a menudo crean políticas basadas en fuentes fragmentadas de internet, lo que lleva a posibles configuraciones incorrectas. La biblioteca admite una vasta gama de más de 100 formatos de imagen, cada uno contribuyendo a su complejidad y perfil de vulnerabilidad, como lo demuestran los incidentes de seguridad históricos.

Hacia Políticas Más Seguras

Para abordar estos desafíos, se ha desarrollado una herramienta para ayudar en el diseño y auditoría de las políticas de seguridad de ImageMagick. Esta herramienta se basa en una extensa investigación y tiene como objetivo garantizar que las políticas no solo sean robustas, sino también libres de lagunas que puedan ser explotadas.

Enfoque de Lista Permitida vs Lista Denegada

Históricamente, las políticas de ImageMagick se basaban en un enfoque de lista denegada, donde se negaba el acceso a codificadores específicos. Sin embargo, los cambios en ImageMagick 6.9.7-7 cambiaron este paradigma, permitiendo un enfoque de lista permitida. Este enfoque primero niega el acceso a todos los codificadores y luego otorga acceso selectivamente a los de confianza, mejorando la postura de seguridad.

...
<policy domain="coder" rights="none" pattern="*" />
<policy domain="coder" rights="read | write" pattern="{GIF,JPEG,PNG,WEBP}" />
...

Sensibilidad a Mayúsculas en Políticas

Es crucial notar que los patrones de políticas en ImageMagick son sensibles a mayúsculas. Como tal, asegurar que los codificadores y módulos estén correctamente en mayúsculas en las políticas es vital para prevenir permisos no intencionados.

Límites de Recursos

ImageMagick es propenso a ataques de denegación de servicio si no está configurado correctamente. Establecer límites de recursos explícitos en la política es esencial para prevenir tales vulnerabilidades.

Fragmentación de Políticas

Las políticas pueden estar fragmentadas a través de diferentes instalaciones de ImageMagick, lo que lleva a posibles conflictos o sobrescrituras. Se recomienda localizar y verificar los archivos de políticas activos utilizando comandos como:

$ find / -iname policy.xml

Una Política Inicial, Restrictiva

Se ha propuesto una plantilla de política restrictiva, centrada en limitaciones de recursos estrictas y controles de acceso. Esta plantilla sirve como base para desarrollar políticas personalizadas que se alineen con los requisitos específicos de la aplicación.

La efectividad de una política de seguridad se puede confirmar utilizando el comando identify -list policy en ImageMagick. Además, la herramienta evaluadora mencionada anteriormente se puede utilizar para refinar la política según las necesidades individuales.

Referencias

Support HackTricks

Last updated