In una piattaforma aperta per l'organizzazione del commercio elettronico , che detiene circa del mercato dei sistemi per la creazione di negozi online, vulnerabilità, la combinazione delle quali consente di eseguire un attacco per eseguire il proprio codice sul server, ottenere il pieno controllo sul negozio online e organizzare il reindirizzamento dei pagamenti. Le vulnerabilità nelle versioni Magento 2.3.2, 2.2.9 e 2.1.18, in cui sono stati risolti un totale di 75 problemi relativi alla sicurezza.
Uno dei problemi consente a un utente non autenticato di inserire codice JavaScript (XSS) che può essere eseguito durante la visualizzazione del registro degli acquisti annullati nell'interfaccia di amministrazione. La natura della vulnerabilità risiede nella possibilità di eludere l'operazione di pulizia del testo tramite la funzione escapeHtmlWithLinks() durante la gestione delle note nel modulo di cancellazione nella schermata di avvio del processo di acquisto (utilizzando un tag embedded all'interno di un altro, come il tag «a href=http://onmouseover=…»). Il problema si manifesta utilizzando il modulo integrato Authorize.Net, tramite il quale vengono ricevuti pagamenti con carta di credito.
Per ottenere il pieno controllo tramite codice JavaScript, nel contesto della sessione attuale, si sfrutta la seconda vulnerabilità che consente di caricare un file phar sotto forma di immagine ( «Deserializzazione Phar»). Il file Phar può essere caricato tramite il modulo di inserimento immagini nell'editor WYSIWYG integrato. Una volta eseguito il proprio codice PHP, l'attaccante può modificare i dati di pagamento o organizzare l'intercettazione delle informazioni sulle carte di credito dei clienti.
È interessante notare che le informazioni sulla vulnerabilità XSS sono state inviate agli sviluppatori di Magento già nel settembre 2018, dopo di che alla fine di novembre è stata pubblicata una patch che, come si è rivelato, risolve solo un caso specifico ed è facilmente bypassabile. Nel gennaio successivo, è stato segnalato anche il caricamento di file Phar sotto forma di immagine e mostrato come la combinazione di due vulnerabilità possa essere utilizzata per compromettere i negozi online. A fine marzo, Magento 2.3.1,
2.2.8 e 2.1.17 ha risolto il problema con i file Phar, ma la correzione per l'XSS è stata dimenticata, nonostante il ticket sulla questione fosse stato chiuso. Ad aprile, l'analisi dell'XSS è ripresa e il problema è stato risolto nelle versioni 2.3.2, 2.2.9 e 2.1.18.
Vale la pena notare che nelle versioni indicate sono state corrette 75 vulnerabilità, di cui 16 classificate come critiche, e 20 problemi possono portare all'esecuzione di codice PHP o all'inserimento di operazioni SQL. La maggior parte dei problemi critici può essere sfruttata solo da un utente autenticato, ma come mostrato sopra, è facile ottenere operazioni autenticate attraverso vulnerabilità XSS, di cui alcune decine sono state corrette nelle versioni indicate.
Fonte: opennet.ru
