Le centre de coordination CERT (groupe de réponse aux urgences informatiques) a publié un avertissement concernant des vulnérabilités affectant les applications et les sites utilisant la bibliothèque ImageMagick en configuration par défaut pour le traitement ou la conversion d'images. L'exploitation réussie permet à un attaquant de lire et d'écrire des fichiers, selon les droits d'accès sous lesquels ImageMagick s'exécute. Les vulnérabilités ont reçu le nom de code ImageTragick2, en référence à un problème identifié en 2016.
Au cours des deux derniers mois, environ une centaine de vulnérabilités ont été corrigées dans ImageMagick, mais les problèmes signalés par CERT sont dus non pas à des erreurs dans le code d'ImageMagick, mais à l'utilisation par défaut de paramètres permettant d'appeler des gestionnaires externes pour les formats SVG et PostScript.
Le gestionnaire dans ImageMagick est choisi en fonction du contenu, et non de l'extension du fichier, donc si une application filtre les téléchargements au niveau des extensions, un attaquant peut transmettre des données dans des formats SVG ou PostScript, par exemple sous forme de fichiers avec des extensions JPEG ou PNG.
La possibilité d'exploitation de la vulnérabilité a été confirmée dans des applications basées sur Ruby on Rails et WordPress, mais n'est pas exclue non plus dans d'autres projets utilisant ImageMagick pour la conversion d'images, le recadrage et la création de miniatures, comme MediaWiki, ownCloud Classic et Redmine. Le problème concerne également les outils d'IA qui appellent ImageMagick lors de l'exécution de tâches liées au traitement d'images.
Deux scénarios d'attaque sont présentés :
- Appel d'un gestionnaire de contenu dans le langage MSL (Magick Scripting Language) par le biais de la transmission d'une image SVG spécialement formatée, dans laquelle l'élément contient un lien « xlink:href » vers une ressource utilisant le protocole « MSL: ». ImageMagick interprète le contenu de cette ressource comme un script en langage MSL, les scripts MSL permettant des opérations de lecture et d'écriture de fichiers. En plus de MSL, une astuce similaire avec SVG peut également être utilisée pour traiter d'autres types de contenu dangereux.
- Appel de l'interpréteur Ghostscript pour traiter le contenu au format PostScript. Ghostscript est lancé avec le drapeau « -dSAFER », qui ne limite pas l'accès au répertoire /tmp, permettant à un attaquant de lire ou de modifier des fichiers dans ce répertoire (par exemple, les applications peuvent temporairement stocker des données de session et des fichiers téléchargés dans /tmp). Ghostscript présente également régulièrement des vulnérabilités permettant de contourner complètement la restriction « -dSAFER » (la dernière vulnérabilité a été révélée le 10 novembre).
Pour bloquer les vulnérabilités, il ne suffit pas de mettre à jour ImageMagick, mais il faut modifier les paramètres dans le fichier /etc/ImageMagick/policy.xml, où il est nécessaire de conserver uniquement le support des formats et opérations les plus essentiels ou au minimum d'interdire l'appel de gestionnaires externes pour les formats MSL, MVG, PS, EPS et PDF. De plus, il est recommandé d'isoler le code pour la conversion d'images externes dans un conteneur séparé, de vérifier les fichiers non seulement par extension, mais aussi par contenu, et de configurer la surveillance des journaux d'ImageMagick pour détecter les erreurs et les activités inhabituelles.
<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}»/>
Source : opennet.ru
