La nuova patch di Magento SUPEE-6788 rilasciata pochi giorni fa racchiude un pacchetto di correzioni che vanno a chiudere 10 problemi di sicurezza, purtroppo però non è possibile installarla a cuor leggero nei negozi online in produzione perché tra le correzioni ce ne sono quattro in particolare piuttosto delicate che possono interferire con il funzionamento di Magento e che necessitano di un’analisi approfondita del codice per individuare possibili incompatibilità.

Approfondiamole di seguito con le considerazioni di Paolo Vecchiocattivi, Senior Magento Developer di MageSpecialist.

APPSEC-1034, addressing bypassing custom admin URL (disabled by default)

Questa vulnerabilità permette ad un attaccante di ottenere l’url di admin di Magento anche nel caso in cui questo sia stato modificato, sfruttando una programmazione errata dei moduli di backend. Purtroppo esistono numerosi moduli di backend che non si appoggiano alla route admin, e rischiano quindi di essere bloccati dall’applicazione della nuova patch.
È necessario perciò andare a verificare il file etc/config.xml di tutti i moduli installati e potenzialmente ogni parte di codice che va a generare dei link per la sezione di backend.
Per questa ragione questa funzionalità viene disabilitata di default quando viene applicata la patch, e va riattivata dalla configurazione dello store (da System > Configuration > Advanced > Admin sotto Admin routing compatibility mode for extensions) successivamente alle verifiche per mettere in sicurezza Magento.

magento-supee-6788-enable

Esiste una lista non ufficiale aggiornata correntemente dei moduli che possono presentare questo tipo di problema:
https://docs.google.com/spreadsheets/d/1LHJL6D6xm3vD349DJsDF88FBI_6PZvx_u3FioC_1-rg/htmlview?sle=true#gid=0

APPSEC-1063, addressing possible SQL injection

Questa vulnerabilità riguarda le istruzioni SQL addFieldToFilter che non effettuavano l’escape delle variabili passate come nome del campo e esponendo così al rischio di esecuzione di codice dannoso nel db.

Per questo è necessario verificare tutti gli utilizzi di addFieldToFilter nei moduli installati. La patch potrebbe bloccare l’esecuzione di tali istruzioni per tutti i moduli che utilizzano espressioni particolari per il filtraggio delle collezioni, per questo è necessario identificare ogni singola occorrenza bloccata e modificare manualmente le istruzioni utilizzate dal modulo.

APPSEC-1057, template processing method allows access to private information

Tramite questa vulnerabilità è possibile accedere alle informazioni che vengono passate ai filtri dei template e-mail esponendo le informazioni del cliente. Alcune estensioni utilizzano in modo improprio questa possibilità per accedere alle informazioni del cliente anche da blocchi esterni ai template e-mail. Per chiudere questo rischio di sicurezza viene introdotta una whitelist di variabili e di blocchi a cui è possibile accedere liberamente dalle proprie estensioni.

Se un modulo usa una variabile o un blocco di questo tipo senza che sia nella whitelist, gli verrà bloccato l’accesso a tali informazioni. Per risolvere il problema è necessario aggiungere il dato alla whitelist.

Questo è il contenuto di default della whitelist:

magento-supee-6788-blocks

APPSEC-1079, addressing potential exploit with custom option file type

https://github.com/peterjaap/magerun-addons

ATTENZIONE

La patch va a modificare i file .htaccess.sample e .htaccess. Se uno di questi file sono stati personalizzati sul nostro store, l’applicazione della patch fallisce automaticamente, è necessario quindi rimuovere temporaneamente le modifiche ai file per poter applicare la patch.