Vulnerabilità nella libreria PharStreamWrapper che colpisce Drupal, Joomla e Typo3

In biblioteca PharStreamWrapper, che fornisce gestori da cui proteggersi di attacchi tramite sostituzione di file nel formato “Phar”, identificato vulnerabilità (CVE-2019-11831), che consente di ignorare la protezione dalla deserializzazione del codice sostituendo i caratteri ".." nel percorso. Ad esempio, un utente malintenzionato può utilizzare un URL come "phar:///path/bad.phar/../good.phar" per un attacco e la libreria evidenzierà il nome di base "/path/good.phar" quando verifica, anche se durante l'ulteriore elaborazione di tale percorso verrà utilizzato il file "/path/bad.phar".

La libreria è stata sviluppata dai creatori del CMS TYPO3, ma viene utilizzata anche nei progetti Drupal e Joomla, il che li rende soggetti a vulnerabilità. Problema risolto nelle versioni PharStreamWrapper 2.1.1 e 3.1.1. Il progetto Drupal ha risolto il problema negli aggiornamenti 7.67, 8.6.16 e 8.7.1. In Joomla il problema si presenta a partire dalla versione 3.9.3 ed è stato risolto nella versione 3.9.6. Per risolvere il problema in TYPO3, è necessario aggiornare la libreria PharStreamWapper.

Dal punto di vista pratico, una vulnerabilità in PharStreamWapper consente a un utente Drupal Core con autorizzazioni di 'Amministra tema' di caricare un file phar dannoso e far sì che il codice PHP in esso contenuto venga eseguito sotto le spoglie di un archivio phar legittimo. Ricordiamo che l'essenza dell'attacco "Deserializzazione Phar" è che quando si controllano i file della guida caricati della funzione PHP file_exists(), questa funzione deserializza automaticamente i metadati dai file Phar (archivio PHP) durante l'elaborazione dei percorsi che iniziano con "phar://" . È possibile trasferire un file phar come immagine, poiché la funzione file_exists() determina il tipo MIME in base al contenuto e non in base all'estensione.

Fonte: opennet.ru

Aggiungi un commento