In Ghostscript, a toolkit for processing, converting, and generating documents in PostScript and PDF formats, a critical vulnerability (CVE-2021-3781) has been identified that allows arbitrary code execution when processing a specially crafted file. The issue was initially highlighted by Emil Lerner, who discussed the vulnerability on August 25 at the recent ZeroNights X conference in Saint Petersburg (during his presentation, Emil explained how he leveraged the vulnerability as part of bug bounty programs to earn rewards for demonstrating attacks on services like AirBNB, Dropbox, and Yandex.Real Estate).
On September 5, a functional exploit surfaced publicly, enabling attacks on systems running Ubuntu 20.04 by feeding a specially crafted document, disguised as an image, to a web script utilizing the php-imagemagick package on the server. Preliminary data suggests that such an exploit had been in circulation since March. It was claimed that attacks could affect systems using GhostScript 9.50, but it has since been confirmed that the vulnerability also exists in all subsequent versions of GhostScript, including the upcoming 9.55 release from Git.
La correzione è stata proposta l'8 settembre ed accettata nel repository di GhostScript il 9 settembre dopo revisione. In molte distribuzioni, il problema rimane ancora irrisolto (è possibile verificare lo stato delle pubblicazioni degli aggiornamenti sulle pagine di Debian, Ubuntu, Fedora, SUSE, RHEL, Arch Linux, FreeBSD, NetBSD). Si prevede di pubblicare una versione di GhostScript che risolva la vulnerabilità entro la fine del mese.
Il problema è causato dalla possibilità di eludere la modalità di isolamento «-dSAFER» a causa di un controllo insufficiente dei parametri del dispositivo Postscript «%pipe%», che consentiva l'esecuzione di comandi shell arbitrari. Ad esempio, per eseguire l'utilità id in un documento, è sufficiente indicare la stringa «(%pipe%/tmp/&id)(w)file» o «(%pipe%/tmp/;id)(r)file».
Ricordiamo che le vulnerabilità in Ghostscript presentano un rischio elevato, poiché questo pacchetto è utilizzato in molte applicazioni popolari per l'elaborazione dei formati PostScript e PDF. Ad esempio, Ghostscript viene chiamato durante la creazione di miniature sul desktop, la indicizzazione dei dati in background e la conversione delle immagini. In molti casi, per un attacco riuscito, è sufficiente caricare un file exploit o visualizzare una directory contenente tale file in un gestore di file che supporti la visualizzazione delle anteprime dei documenti, come Nautilus.
Le vulnerabilità in Ghostscript possono essere sfruttate anche attraverso i gestori di immagini basati su pacchetti ImageMagick e GraphicsMagick, passando a essi un file JPEG o PNG in cui invece dell'immagine si trova del codice PostScript (questo file verrà elaborato in Ghostscript, poiché il tipo MIME è riconosciuto in base al contenuto e non si basa su un'estensione).
Fonte: opennet.ru
