Dans Ghostscript, la suite d'outils pour le traitement, la conversion et la génération de documents aux formats PostScript et PDF, une vulnérabilité critique (CVE-2021-3781) a été découverte, permettant l'exécution de code arbitraire lors du traitement d'un fichier spécialement conçu. C'est Emil Lerner qui a d'abord attiré l'attention sur le problème, en exposant la vulnérabilité le 25 août lors de la conférence ZeroNights X à Saint-Pétersbourg (dans sa présentation, il a expliqué comment, dans le cadre de programmes de bug bounty, il avait utilisé la vulnérabilité pour obtenir des récompenses en démontrant des attaques sur les services AirBNB, Dropbox et Yandex.Immobilier).
Le 5 septembre, un exploit fonctionnel a été rendu public, permettant d'attaquer des systèmes sous Ubuntu 20.04 via la transmission d'un document spécialement conçu, téléchargé sous le prétexte d'une image, à un script web exécuté sur le serveur utilisant le paquet php-imagemagick. Selon des informations préliminaires, cet exploit circulait depuis mars. Il a été signalé qu'une attaque était possible sur les systèmes avec GhostScript 9.50, mais il a été constaté que la vulnérabilité se manifeste également dans toutes les versions ultérieures de GhostScript, y compris la version 9.55 en développement depuis Git.
Un correctif a été proposé le 8 septembre et, après révision, a été accepté dans le dépôt de GhostScript le 9 septembre. Dans de nombreuses distributions, le problème reste non corrigé à l'heure actuelle (vous pouvez consulter le statut de la publication des mises à jour sur les pages de Debian, Ubuntu, Fedora, SUSE, RHEL, Arch Linux, FreeBSD, NetBSD). La publication d'une version de GhostScript corrigeant la vulnérabilité est prévue pour la fin du mois.
Le problème est causé par la possibilité de contourner le mode d'isolement « -dSAFER » en raison d'une vérification insuffisante des paramètres de l'appareil Postscript « %pipe% », permettant l'exécution de commandes shell arbitraires. Par exemple, pour exécuter l'utilitaire id dans un document, il suffit d'indiquer la ligne « (%pipe%/tmp/&id)(w)file » ou « (%pipe%/tmp/;id)(r)file ».
Nous rappelons que les vulnérabilités dans Ghostscript représentent un danger accru, car ce paquet est utilisé dans de nombreuses applications populaires pour le traitement des formats PostScript et PDF. Par exemple, Ghostscript est appelé lors de la création de vignettes sur le bureau, pendant l'indexation de données en arrière-plan et lors de la conversion d'images. Dans de nombreux cas, il suffit de télécharger un fichier contenant un exploit ou de visualiser un répertoire contenant ce fichier dans un gestionnaire de fichiers qui prend en charge l'affichage des vignettes de documents, comme Nautilus.
Les vulnérabilités dans Ghostscript peuvent également être exploitées via des processeurs d'images basés sur les paquets ImageMagick et GraphicsMagick, en leur transmettant un fichier JPEG ou PNG, dans lequel se trouve du code PostScript au lieu d'une image (ce fichier sera traité par Ghostscript, car le type MIME est reconnu par son contenu et non pas par son extension).
Source : opennet.ru
