Come correggere la vulnerabilità di 301 Redirects – Easy Redirect Manager

Venerdì 13 dicembre (ma che combinazione!!) è stata scoperta la vulnerabilità del plugin per WordPress 301 Redirects – Easy Redirect Manager. Questo plugin è installato su oltre 70.000 siti Web. Attraverso questi punti deboli qualsiasi utente autenticato anche con ruolo di semplice sottoscrittore, poteva modificare, eliminare e iniettare regole di reindirizzamento che potevano comportare la perdita di disponibilità del sito o, nel caso peggiore, potevano reindirizzare gli utenti verso altri siti che poi avrebbero potuto richiedere le credenziali di accesso tramite pagine di phishing.

Gli sviluppatori naturalmente, sono subito intervenuti rilasciando patch che correggevano la vulnerabilità (le patch sono inserite dalla versione 2.45 in poi).

Azioni senza alcun controllo sull’autorizzazione

Questo plugin, sostanzialmente, permetteva di inserire nuovi reindirizzamenti facendo un semplice controllo attraverso la funzione is_admin() apparentemente sicura per impedire accesssi non autorizzati.

if (is_admin()) {
...

// Ajax funcs
add_action('wp_ajax_eps_redirect_get_new_entry', array($this, 'ajax_get_entry'));
add_action('wp_ajax_eps_redirect_delete_entry', array($this, 'ajax_eps_delete_entry'));
add_action('wp_ajax_eps_redirect_get_inline_edit_entry', array($this, 'ajax_get_inline_edit_entry'));
add_action('wp_ajax_eps_redirect_save', array($this, 'ajax_save_redirect'));

In realtà questa funzione verifica solo se la dashboard o il pannello amministrativo sta tentando di essere visualizzato. Secondo WordPress.org questa funzione non verifica se l’utente corrente è autorizzato a visualizzare la dashboard o il pannello di amministrazione. Lo stesso vale per la funzione admin-ajax: essa verifica soltanto che la richiesta provenga dal pannello di amministrazione ma non verifica alcuna autorizzazione.

Mancanza di una corretta convalida dell’input

Inoltre, il parametro identificativo della nuova regola salvata o modificata mancava di convalida o sanificazione dell’input. Questo comportava una vulnerabilità XSS che poteva essere sfruttata da sola ma anche insieme al reindirizzamento.

Protezione CSRF mancante

La versione vulnerabile del plugin, inoltre, non utilizzava una chiave per il modulo inviato come controllo dei dati e della loro provenienza. Quindi le modifiche dei redirect e i nuovi inserimenti venivano eseguiti sia da utenti non autorizzati sia senza alcun controllo da parte della provenienza del modulo.

Conclusioni

Questo mio articolo ha voluto dimostrarti che nonostante tutti gli strumenti che hai a disposizione oggi ti possano permettere di creare in autonomia un sito internet è sempre più conveniente affidarsi ad un professionista che conosce molto meglio gli strumenti di cui può disporre e soprattutto conosce le vulnerabilità e i plugin da usare e quelli poco affidabili.

Per una consulenza nello sviluppo del tuo sito web, scrivimi qui.

Hai un problema con il web?

Il tuo sito internet non vuole funzionare?

Vuoi rinnovarlo o sistemarlo?

Hai un’idea di integrazione ma non sai se è possibile realizzarla o meno?

    Accetto la Privacy Policy
    Autorizzo al trattamento dei miei dati personali, per ricevere le informazioni richieste attraverso questo modulo di contatto. I dati da te inseriti attraverso questo modulo verranno utilizzati solo per essere da me ricontattato.

    Recensioni

    Scrivimi una recensione

    Questo QR Code ti permette di lasciarmi una recensione in maniera facile e veloce.

    Altrimenti qui sotto ti lascio un bottone, con il quale puoi lasciare la recensione direttamente su Google My Business.

    Lascia una recensione su Google