Individuate vulnerabilità critiche in due plugin di WordPress

17/02/2020

plugin Vulnerabilità wordpress

Recentemente due distinte ricerche hanno evidenziato due vulnerabilità su plugin WordPress che potrebbero consentire a potenziali aggressori di accedere ai siti in modalità amministratore.

I plugin coinvolti sono i seguenti:

  • Profile Builder (Installazioni attive stimate: 50.000+)
  • ThemeGrill Demo Importer (Installazioni attive stimate: 200.000+)

Vulnerabilità su Profile Builder

Profile Builder è un plug-in per la creazione di moduli utilizzato principalmente per blog e siti Web con sezioni di commento. Come riportato da WordPress.org, automatizza il processo di registrazione dell’utente e aggiunge un menu frontend per gli utenti consentendo anche una certa interazione da parte di questi ultimi.

Anche se al momento non risulta associato nessun CVE, il bug su Profile Builder è stato classificato come critico da WordPress Security Biz Wordfence.

Secondo i ricercatori di Wordfence, un attaccante potrebbe inviare input su campi del modulo che non sono presenti. In particolare, se l’amministratore del sito non ha aggiunto il campo Ruolo utente al modulo, un utente malintenzionato potrebbe aggiungere un ruolo utente nella realizzazione del modulo.

Wordfence conferma che se durante l’installazione iniziale delle versioni di Profile Builder, inclusa la versione 3.1.0, un amministratore del sito non ha impostato un campo ruolo utente predefinito per gli utenti appena registrati, un attaccante potrebbe semplicemente inviare un nuovo registrazione dell’utente insieme al proprio ruolo utente scelto, ad esempio come admin.

 

La versione 3.1.1 di Profile Builder è stata rilasciata ed è presente sul sito del produttore.

Vulnerabilità su ThemeGrill Demo Importer

I ricercatori di WebARX hanno individuato una vulnerabilità critica sul plugin ThemeGrill e già corretta dagli sviluppatori. Il bug, se correttamente sfruttato, consente di ottenere privilegi di amministratore a utenti non autenticati.

Il plugin viene utilizzato per importare facilmente contenuti, gestire temi e impostazioni della demo dei temi ThemeGrill, e secondo WordPress è presente su oltre 200.000 siti WordPress.

Il bug è presente nelle versioni del plugin ThemeGrill Demo Importer 1.3.4 fino alla 1.6.1. Le versioni attive più popolari, secondo le statistiche del repository ufficiale dei plug-in di WordPress, sono da 1.4 a 1.6, che rappresentano oltre il 98% delle installazioni attuali.

La vulnerabilità è contenuta nella funzione reset_wizard_actions, la quale non effettua controlli sull’utente che effettua la richiesta, ma fa affidamento sul modo in cui è registrata su WordPress (è un hook su admin_init) che permette solo agli utenti amministratori di richiamarne le funzionalità.
Tuttavia gli sviluppatori non si sono resi conto che la pagina /wp-admin/admin-ajax.php permette a qualsiasi utente non autenticato di creare un contesto amministrativo (e quindi di invocare le funzioni registrate con l’hook admin_init), questo crea di fatto una falla in cui le funzionalità di reset_wizard_actions sono disponibili anche agli utenti non autenticati

La funzione reset_wizard_actions riporta il database di WordPress allo stato iniziale ed impersona un eventuale utente admin se presente nel database, lasciando l’attaccante autenticato come tale utente. Nel caso un utente admin non esista, l’attaccante è comunque in grado di resettare il database.

Conclusioni

Il CERT-PA raccomanda di mantenere sempre aggiornati i plugin relativi ai CMS (Content Management System), facendo riferimento ai bollettini emessi dai vari produttori.