WordPress è (di nuovo) protagonista della scoperta di un nuovo bug di sicurezza grave. Si tratta di un bug che consente ad un attaccante di eseguire codice da remoto, ed è basato su una vulnerabilità che è stata rilevata dai ricercatori di RIPS Technologies, un’azienda tedesca di sicurezza informatica. Si tratta di una vulnerabilità cross-site request forgery (CSRF) ovvero un bug a cui sono esposti i siti web dinamici quando sono progettati per ricevere richieste da un client senza meccanismi per controllare se la richiesta sia stata inviata intenzionalmente o no.

Un utente malintenzionato può attaccare un qualsiasi sito WordPress che non sia aggiornato alla versione 5.1.1, e che abbia il sistema di commenti abilitato. Questo exploit, che usa per l'appunto la sofisticazione di richieste tra siti (CSRF) viene eseguito sulla installazione di WordPress target in background, senza che la vittima se ne accorga. L'exploit CSRF sfrutta molteplici errori logici e errori di sanitizzazione, e se sfruttati al pieno della loro potenzialità, sfociao nella esecuzione di codice remoto e ad un quasi certo controllo completo da remoto.

Questa vulnerabilità esiste nelle versioni di WordPress precedenti alla 5.1.1 ed è sfruttabile con le impostazioni predefinite del blog.

WordPress è utilizzato da oltre il 33% di tutti i siti Web. Considerando che i commenti sono caratteristiche fondamentali per ogni blog e che i commenti stessi sono abilitati su ogni installazione di wordpress per impostazione predefinita, la vulnerabilità è sicuramente molto estesa.

Vettore di attacco

WordPress non esegue la convalida CSRF quando un utente pubblica un nuovo commento. Ciò è dovuto al fatto che alcune funzionalità di WordPress come trackback e pingback non funzionavano a dovere con la convalida CSRF "strict". Ciò significa che un utente malintenzionato può creare commenti nel nome di utenti amministrativi di blog WordPress tramite attacchi CSRF.

Ai blog è permesso usare tag HTML arbitrari nei commenti, anche tag <script>. In teoria, un utente malintenzionato potrebbe semplicemente abusare della vulnerabilità CSRF per creare un commento contenente codice JavaScript dannoso.

WordPress cerca di risolvere questo problema generando un extra nonce per gli amministratori nel modulo di commento. Quando l'amministratore invia un commento e fornisce un nonce valido, il commento viene creato senza alcuna sanitizzazione. Se il nonce non è valido, il commento viene comunque creato ma sanitizzato.

Come aggiornare

Come al solito, procedere con l'aggiornamento automatico da pannello di controllo. Questo fix non causa nessuna incompatibilità con le precedenti major version 5 di Wordpress.