Il Centro di coordinamento CERT (gruppo di risposta agli incidenti informatici) ha pubblicato un avviso riguardante la scoperta di vulnerabilità che colpiscono applicazioni e siti web che utilizzano la libreria ImageMagick nella sua configurazione predefinita per l'elaborazione o la conversione delle immagini. Sfruttare con successo le vulnerabilità consente a un attaccante di leggere e scrivere file, a seconda dei diritti di accesso con cui viene eseguito ImageMagick. Le vulnerabilità hanno ricevuto il nome in codice ImageTragick2, in analogia a un problema scoperto nel 2016.
Negli ultimi due mesi, sono state corrette circa cento vulnerabilità in ImageMagick, ma i problemi segnalati dal CERT non sono causati da errori nel codice di ImageMagick, bensì dall'uso delle impostazioni predefinite che consentono la chiamata di gestori esterni per i formati SVG e PostScript.
Il gestore in ImageMagick viene selezionato in base al contenuto e non all'estensione del file, quindi se un'applicazione filtra i caricamenti a livello di estensioni, un attaccante può inviare dati nei formati SVG o PostScript, ad esempio spacciandoli per file con estensione JPEG o PNG.
La possibilità di sfruttare la vulnerabilità è stata confermata in applicazioni basate su Ruby on Rails e WordPress, ma non è esclusa anche in altri progetti che utilizzano ImageMagick per la conversione delle immagini, il ritaglio e la creazione di miniature, come MediaWiki, ownCloud Classic e Redmine. Il problema riguarda anche gli strumenti AI che invocano ImageMagick durante l'esecuzione di compiti legati all'elaborazione delle immagini.
Vengono forniti due scenari di attacco:
- Chiamata al gestore del contenuto in MSL (Magick Scripting Language) tramite la trasmissione di un'immagine SVG appositamente formattata, in cui l'elemento contiene un link 'xlink:href' a una risorsa con il protocollo 'MSL:'. ImageMagick interpreta il contenuto di tale risorsa come uno script in MSL, e negli script MSL sono ammesse operazioni di lettura e scrittura di file. Oltre a MSL, un trucco simile con SVG può essere utilizzato anche per trattare altri tipi di contenuto pericoloso.
- Chiamata all'interprete Ghostscript per elaborare contenuti in formato PostScript. Ghostscript viene avviato con il flag «-dSAFER», che non limita l'accesso alla directory /tmp, consentendo a un aggressore di leggere o modificare file in questa directory (ad esempio, le applicazioni possono temporaneamente memorizzare dati di sessione e file caricati in /tmp). In Ghostscript si trovano anche regolarmente vulnerabilità che consentono di aggirare completamente la restrizione «-dSAFER» (l'ultima di queste vulnerabilità è stata rivelata il 10 novembre).
Non è sufficiente aggiornare ImageMagick per bloccare le vulnerabilità, è necessaria una modifica delle impostazioni nel file /etc/ImageMagick/policy.xml, in cui devono rimanere solo i formati e le operazioni più necessari o, quanto meno, vietare la chiamata a gestori esterni per i formati MSL, MVG, PS, EPS e PDF. Inoltre, si raccomanda di isolare il codice per la conversione di immagini esterne in un contenitore separato, controllare i file non solo in base all'estensione, ma anche al contenuto, e impostare un monitoraggio dei log di ImageMagick per rilevare errori e attività insolite.
<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}»/>
Fonte: opennet.ru
