In Ghostscript, il kit di strumenti per la gestione, la trasformazione e la generazione di documenti nei formati PostScript e PDF, è stata individuata una vulnerabilità critica (CVE-2021-3781) che consente l'esecuzione di codice arbitrario durante l'elaborazione di un file appositamente formato. Inizialmente, il problema è stato sottolineato da Emil Lerner, che ha parlato della vulnerabilità il 25 agosto alla conferenza ZeroNights X tenutasi a San Pietroburgo (nel suo intervento, è stato mostrato come Emil ha utilizzato la vulnerabilità nell'ambito dei programmi di bug bounty per ottenere premi dimostrando attacchi ai servizi di AirBNB, Dropbox e Yandex.Nedvizhimost).
Il 5 settembre è stato reso pubblico un exploit funzionante che consente di attaccare i sistemi con Ubuntu 20.04 tramite la trasmissione di un documento opportunamente formato, caricato come immagine, a uno script web eseguito sul server, che utilizza il pacchetto php-imagemagick. Secondo le informazioni preliminari, un exploit simile era in circolazione già da marzo. Si era dichiarato che l'attacco ai sistemi con GhostScript 9.50 era possibile, ma è emerso che la vulnerabilità si manifesta anche in tutte le versioni successive di GhostScript, inclusa la versione 9.55 in fase di sviluppo da Git.
La correzione è stata proposta l'8 settembre e, dopo una revisione, accettata nel repository di GhostScript il 9 settembre. In molti distribuzioni, il problema rimane ancora non risolto (lo stato della pubblicazione degli aggiornamenti può essere verificato sulle pagine di Debian, Ubuntu, Fedora, SUSE, RHEL, Arch Linux, FreeBSD, NetBSD). È previsto il rilascio di GhostScript con la correzione della vulnerabilità entro la fine del mese.
Il problema è causato dalla possibilità di eludere il regime di isolamento '-dSAFER' a causa di un'insufficiente verifica dei parametri dello strumento Postscript '%pipe%', che consentivano di eseguire comandi shell arbitrari. Ad esempio, per avviare l'utilità id nel documento è sufficiente specificare la stringa '(%pipe%/tmp/&id)(w)file' o '(%pipe%/tmp/;id)(r)file'.
Ricordiamo che le vulnerabilità in Ghostscript rappresentano un alto rischio, poiché questo pacchetto è utilizzato in molte applicazioni popolari per la gestione dei formati PostScript e PDF. Ad esempio, Ghostscript viene chiamato durante la creazione delle miniature sul desktop, nell'indicizzazione dei dati in background e nella conversione delle immagini. In molti casi, per un attacco riuscito è sufficiente caricare un file con un exploit o visualizzare una cartella contenente tale file in un gestore di file che supporta la visualizzazione delle anteprime dei documenti, come Nautilus.
Le vulnerabilità in Ghostscript possono essere sfruttate anche attraverso gestori di immagini basati su pacchetti ImageMagick e GraphicsMagick, passando loro un file JPEG o PNG in cui il codice PostScript è presente anziché un'immagine (questo file verrà elaborato da Ghostscript, poiché il tipo MIME viene riconosciuto dal contenuto e non si basa sull'estensione).
Fonte: opennet.ru
