WP Slimstat: a rischio la sicurezza di migliaia di installazioni WordPress

wordpress-slimstat-plugin

 

Di recente è stata scoperta una vulnerabilità molto grave all’interno di WP Slimstat, noto plugin di WordPress che fornisce una serie di informazioni molto utili a livello statistico con relativi grafici.

Poiché WordPress è il CMS più diffuso al mondo, non c’è da sorprendersi che esso sia anche il target preferito dagli hackers.

Per migliorare la sicurezza di wordpress, leggi anche l’articolo su wordfence.

Ecco i dettagli della vulnerabilità.

  • Versione: 3.9.5 e inferiori
  • Priorità: molto alta
  • Exploit: remoto
  • Tipo di vulnerabilità: SQL injection
  • Descrizione: tramite la “secret” key (che a quanto pare tanto secret non è) utilizzata dal plugin, un attacker può effettuare SQL injections verso il sito web target.

Con queste SQL injections, l’attacker può andare a leggere il contenuto del Database ed entrare in possesso di informazioni importanti come, ad esempio, il nome utente dell’admin, la relativa password (anche se in hash) di quell’account e le chiavi segrete della vostra installazione di WordPress che comporterebbe, in pratica, una totale compromissione del vostro sito web.

Ma come funziona tecnicamente questo bug?

WP Slimstat utilizza una chiave segreta” (che nel codice si chiama proprio “secret”) per cifrare i dati inviati da/verso il client. Analizzando come viene generata questa chiave, è stato scoperto che è possibile, per un utente malintenzionato, indovinare il suo valore originale in chiaro.

Questa “secret” key non è altro che l’hash del timestamp di installazione del plugin. Un utente malintenzionato potrebbe utilizzare siti come archive.org per recuperare la data in cui il sito è stato messo online, informazione che è reperibile – per un utente esperto – in circa 10 minuti disponendo di una CPU moderna.

L’unica parte mancante per poter effettuare questo bruteforce del sito è verificare le informazioni provenienti dal plugin per confrontarle con le nostre firme generate.
Queste informazioni sono presenti nel codice html del sito web, anche nella relativa homepage:WP-Slimstat-2

Utilizzando queste informazioni, si può iniziare l’attacco bruteforce fino ad ottenere la stessa firma che abbiamo preso dalla homepage. Entrati in possesso della “secret” key, possiamo dare il via all’attacco vero e proprio, ovvero alla SQL injection.

Come funziona questa SQL injection?

Abbiamo scoperto che si possono inserire dati arbitrari nella funzione unserialize (), dati che vengono poi passati al metodo maybe_insert_row () utilizzando la variabile $content_info.

Poichè controlliamo la variabile $ _data, possiamo inserirvi un array i cui indici sono istruzioni SQL. Proprio la possibilità di eseguire query arbitrarie, consentirebbe a un hacker malintenzionato di ottenere tutte le informazioni che vuole dal database.

Come si risolve questo problema?

La soluzione è molto semplice: è sufficiente aggiornare WP Slimstat all’ultima release, grazie alla quale l’algoritmo della “secret” key è stato migliorato.

Ad oggi si stima che siano ancora oltre 100.000 i siti web affetti da questa vulnerabilità. Purtroppo sembra che la sicurezza non sia ancora considerata una priorità, specialmente su WordPress e relativi plugins.

One Response

  1. Realizzazione siti web 06/03/2015

Rispondi all'articolo

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *