ImageMagick Security

Support HackTricks

Check further details in https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html

ImageMagick, uma biblioteca versátil de processamento de imagens, apresenta um desafio na configuração de sua política de segurança devido às suas extensas opções e à falta de documentação detalhada online. Os usuários frequentemente criam políticas com base em fontes fragmentadas da internet, levando a possíveis configurações incorretas. A biblioteca suporta uma vasta gama de mais de 100 formatos de imagem, cada um contribuindo para sua complexidade e perfil de vulnerabilidade, como demonstrado por incidentes de segurança históricos.

Towards Safer Policies

Para abordar esses desafios, uma ferramenta foi desenvolvida para ajudar no design e auditoria das políticas de segurança do ImageMagick. Esta ferramenta é baseada em extensa pesquisa e visa garantir que as políticas não sejam apenas robustas, mas também livres de brechas que possam ser exploradas.

Allowlist vs Denylist Approach

Historicamente, as políticas do ImageMagick dependiam de uma abordagem de denylist, onde codificadores específicos eram negados acesso. No entanto, mudanças no ImageMagick 6.9.7-7 mudaram esse paradigma, permitindo uma abordagem de allowlist. Essa abordagem primeiro nega acesso a todos os codificadores e, em seguida, concede acesso seletivamente aos confiáveis, melhorando a postura de segurança.

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

Sensibilidade a Maiúsculas em Políticas

É crucial notar que os padrões de política no ImageMagick são sensíveis a maiúsculas. Assim, garantir que os codificadores e módulos estejam corretamente em maiúsculas nas políticas é vital para evitar permissões indesejadas.

Limites de Recursos

O ImageMagick é suscetível a ataques de negação de serviço se não estiver configurado corretamente. Definir limites de recursos explícitos na política é essencial para prevenir tais vulnerabilidades.

Fragmentação de Políticas

As políticas podem estar fragmentadas em diferentes instalações do ImageMagick, levando a potenciais conflitos ou substituições. É recomendável localizar e verificar os arquivos de política ativos usando comandos como:

$ find / -iname policy.xml

Uma Política Restritiva para Iniciantes

Um modelo de política restritiva foi proposto, focando em limitações rigorosas de recursos e controles de acesso. Este modelo serve como uma base para desenvolver políticas personalizadas que se alinhem com os requisitos específicos da aplicação.

A eficácia de uma política de segurança pode ser confirmada usando o comando identify -list policy no ImageMagick. Além disso, a ferramenta avaliadora mencionada anteriormente pode ser usada para refinar a política com base nas necessidades individuais.

Referências

Support HackTricks

Last updated