Question Est-il sécuritaire d'utiliser ImageMagick sur les images utilisateur?


J'ai entendu dire que l'utilisation de ImageMagick sur des images arbitraires fournies par l'utilisateur pouvait poser problème. Par exemple, le lien ci-dessous montre qu'il existait des exploits de dépassement de tampon. Est-ce que quelqu'un sait si je peux maintenant l'utiliser en toute sécurité dans le cadre d'un service Web traitant des images d'utilisateur?

http://rhn.redhat.com/errata/RHSA-2006-0633.html


4
2017-09-08 01:19


origine




Réponses:


Cet avis de sécurité date de 2006. Tous les logiciels ont des bogues, mais je ne dirais pas que ImageMagick a plus que d’autres logiciels. Sérieusement, si vous implémentez un service Web, vous êtes probablement aussi susceptible d'être piraté par quelqu'un via Apache qu'avec ImageMagick.

Bref, ne vous inquiétez pas, gardez tous vos logiciels à jour.

EDIT: au fait, j'ai aidé un client à implémenter un service Web utilisant ImageMagick, et je n'ai jamais entendu parler d'un problème avec celui-ci.


5
2017-09-08 03:28



ImageMagick est trivial à pirater car ses codecs ne sont pas conçus pour gérer des données malveillantes. Voir imagetragick.com  Sandbox ImageMagick correctement ou ne pas l'utiliser avec des données non fiables. - Lilith River


Oui, il y a un risque pour la sécurité: les logiciels ont des bogues et certains peuvent être utilisés pour attaquer le système sur lequel ils s'exécutent.

Mais vous pouvez minimiser le risque:

  1. Créez un compte d'utilisateur avec un minimum d'autorisations pour qu'il soit juste suffisant pour exécuter ImageMagick. Utilisez maintenant uniquement ce compte pour exécuter ImageMagick

  2. Activer les mises à jour de sécurité automatiques: les systèmes Linux comme Ubuntu peuvent être configurés pour être installés automatiquement et installer des correctifs de sécurité. Cela réduit le temps pendant lequel votre système est vulnérable au cas où une vulnérabilité serait trouvée. Le système Windows a également un système de mise à jour automatique, mais cela n'inclut pas les logiciels tiers tels que ImageMagick.


7
2017-09-08 11:18



Je pense que cela devrait être la réponse acceptée. - Sam Rueby


Non.

ImageMagick a été conçu pour la flexibilité. Il n'est pas renforcé contre les entrées contrefaites de la même manière que les bibliothèques de traitement d'image d'un navigateur. Ce sera probablement continuer à être beaucoup plus facile à trouver des bogues exploitables dans une bibliothèque comme ImageMagick que dans un navigateur.

Un attaquant qui trouve un débordement de tampon dans ImageMagick peut alors l'utiliser pour exécuter du code arbitraire avec les autorisations du processus exécutant ImageMagick.

Cela peut donner à un attaquant une tête de pont qu’il peut utiliser pour accroître ses privilèges. par exemple via PATH et attaques de chevaux de Troie, en confondant les autres backends ou en exploitant d’autres services non protégés au sein de votre environnement de production.

Si vous avez absolument doit utiliser ImageMagick sur du contenu tiers, voir "Autres considérations relatives à la sécurité" dans Docs de la politique de sécurité d'ImageMagick:

En plus de la politique de sécurité, vous pouvez rendre ImageMagick plus sûr en ...

  • maintenir ImageMagick à jour. Les dernières versions ont des correctifs pour toutes les failles de sécurité que nous avons découvertes dans le passé.
  • désinfecter les noms de fichiers ou les options de ligne de commande que vous transmettez à ImageMagick.
  • exécuter ImageMagick dans un conteneur de logiciel désinfecté tel que Docker.
  • exécuter ImageMagick en tant qu'utilisateur le moins privilégié (par exemple, "personne").   définir explicitement le type de fichier image. Par exemple, utilisez le nom de fichier png: image.png plutôt que image.png. Sans un type d'image explicite dans le nom de fichier, ImageMagick devine le type d'image.

-1
2017-08-01 22:18