Incident de sécurité Ghostscript (VU#332928)
Le 21 août 2018, Tavis Ormandy, du Project Zero de Google, a révélé des problèmes de sécurité dans la manière dont ImageMagick délègue du travail à Ghostscript.
Cette vulnérabilité a également été publiée sous la référence VU#332928 par la Computer Emergency Response Team. De nombreux systèmes d’exploitation fournissent une version d’ImageMagick et, selon le rapport du CERT, pratiquement tous ces systèmes sont affectés. Transloadit compile ses propres versions d’ImageMagick, mais un chercheur en sécurité connu sous le pseudonyme de Lawn a révélé de manière responsable, le 22 août à 19:14 UTC+1, que Transloadit était également touché.
En envoyant une image malformée de manière malveillante, des attaquants pouvaient exécuter des commandes arbitraires sur nos machines d’encodage.
Dès que l’équipe de support a pris la mesure de cette vulnérabilité, notre Security Response Team a été informée et a commencé son enquête à 20:24 UTC+1.
Nous avons appris que le contournement recommandé consistait à désactiver le traitement des fichiers PS, EPS, PDF et XPS, ce qui aurait évidemment eu de graves conséquences pour nombre de nos clients.
Nos quatre ingénieurs en sécurité ont poursuivi leur enquête et ont proposé deux approches alternatives. Après délibération, nous avons jugé que la meilleure solution dans notre situation consistait à analyser les fichiers à la recherche de ce nouveau type de contenu malveillant avant de les transmettre à ImageMagick.
Au plus tard à 21:50 UTC+1, un correctif en ce sens était écrit et nous avons commencé à le tester. Nous avons résolu un problème de notre CI, sans lien avec la faille, qui empêchait les déploiements, et au plus tard à 23:33 UTC+1, le correctif était en production, son bon fonctionnement ayant été confirmé à la fois par notre SRT et par le chercheur indépendant en vulnérabilités. Nous n’étions plus vulnérables à ce problème, tout en pouvant continuer à traiter les fichiers PS, EPS, PDF et XPS valides.
Pendant que l’un de nos ingénieurs en sécurité écrivait le correctif, les trois autres ont continué d’évaluer la gravité du problème pour Transloadit. Au plus tard à 21:58 UTC+1, il a été déterminé que, pour Transloadit, cet incident pouvait être classé en gravité : faible, grâce à nos efforts antérieurs de lutte contre les vulnérabilités liées à ImageMagick :
Nous avons finalisé et déployé une importante mise à jour afin que nos machines d’encodage (qui seraient les plus exposées à ce type d’attaques) fonctionnent désormais sans aucun secret. Elles peuvent récupérer des Jobs dans une file d’attente via un accès en lecture seule, et les exporter via un accès en ajout seul. Tous les autres secrets et privilèges ont été supprimés.
Face à cet incident, nous sommes reconnaissants pour ces efforts antérieurs, ainsi qu’à Lawn et à Sasha Usenko, responsable de la sécurité chez Coursera, pour nous avoir signalé ce problème rapidement et de manière responsable.
Si vous avez des questions, des commentaires ou des préoccupations concernant ce problème ou la manière dont nous l’avons géré, n’hésitez pas à nous contacter.
