É seguro usar o ImageMagick em imagens de usuários?

4

Ouvi dizer que pode haver preocupações de segurança ao usar o ImageMagick em imagens arbitrárias fornecidas pelo usuário. Por exemplo, o link abaixo fornece evidências de que costumava haver algumas explorações de estouro de buffer. Alguém sabe se agora posso usá-lo com segurança como parte de um serviço da Web que lida com imagens do usuário?

link

    
por Tyler 08.09.2011 / 03:19

3 respostas

5

Esse comunicado de segurança é de 2006. Todos os softwares têm bugs, mas eu não diria que o ImageMagick tem mais do que outro software. Sério, se você estiver implementando um serviço da web, provavelmente terá a mesma probabilidade de ser hackeado por alguém através do Apache do que com o ImageMagick.

Em resumo, não se preocupe, mas mantenha todo o seu software atualizado.

EDIT: a propósito, ajudei um cliente a implementar um serviço da web que usava o ImageMagick, e nunca ouvi falar de um problema com ele.

    
por 08.09.2011 / 05:28
7

Sim, existe um risco de segurança - o software tem erros e alguns deles podem ser usados para atacar o sistema em que ele é executado.

Mas você pode minimizar o risco:

  1. Crie uma conta de usuário com um mínimo de permissões para que seja suficiente apenas para executar o ImageMagick. Agora use apenas essa conta para executar o ImageMagick

  2. Ativar atualizações de segurança automáticas: sistemas Linux como o Ubuntu podem ser configurados para instalar automaticamente as correções de segurança. Isso diminui o tempo que seu sistema fica vulnerável caso uma vulnerabilidade seja encontrada. O sistema Windows também possui um sistema de atualização automática, mas isso não inclui software de terceiros como o ImageMagick.

por 08.09.2011 / 13:18
-1

Não.

O ImageMagick foi projetado para flexibilidade. Ele não é protegido contra entradas criadas do mesmo modo que as bibliotecas de processamento de imagens do navegador. Provavelmente, continuará a ser muito mais fácil encontrar bugs exploráveis em uma biblioteca como o ImageMagick do que em um navegador.

Um invasor que encontrar um estouro de buffer no ImageMagick poderá usá-lo para executar código arbitrário com as permissões do processo que está executando o ImageMagick.

Isso pode dar a um invasor uma cabeça de ponte que pode usar para aumentar ainda mais os privilégios; por exemplo, por meio de ataques PATH e trojan horse , confundindo outros backends ou explorando outros, serviços não corrigidos dentro de seu ambiente de produção.

Se você absolutamente precisar usar o ImageMagick em conteúdo de terceiros, consulte "Outras considerações de segurança" em Documentos da política de segurança do ImageMagick :

In addition to the security policy, you can make ImageMagick safer by ...

  • keeping ImageMagick up-to-date. The latest releases have fixes for any security flaws we discovered in the past.
  • sanitizing any filenames or command line options you pass to ImageMagick.
  • running ImageMagick in a sanitized software container such as Docker.
  • running ImageMagick as the least-privileged user (e.g. 'nobody'). explicitly setting the image file type. For example, use the filename png:image.png rather than image.png. Without an explicit image type in the filename, ImageMagick guesses the image type.
    
por 02.08.2017 / 00:18