Migliaia di plugin WordPress sono stati colpiti da una serie di vulnerabilità di cross-site scripting (XSS) che potrebbero dare agli hacker il controllo completo dei siti.
Uno dei plugin interessati è stato progettato per funzionare con il popolare sistema di e-commerce WordPress WooCommerce.
WordPress Flexible Checkout Fields
I ricercatori di NinTechNet hanno riscontrato una vulnerabilità nel plugin WordPress Flexible Checkout Fields per WooCommerce, che fornisce al sistema di e-commerce WordPress la possibilità di configurare campi di checkout personalizzati utilizzando una semplice interfaccia utente.
La vulnerabilità ha consentito agli hacker di aggiungere due campi personalizzati nelle sezioni Fatturazione e Spedizione di una pagina WooCommerce.
Una volta iniettato lo script, è possibile creare quattro nuovi account amministrativi utilizzando indirizzi e-mail predefiniti.
Un amministratore del sito dovrebbe visitare la schermata di configurazione del plugin o la pagina di checkout per configurare questi account.
A questo punto, il sito infetto scarica un file zip e lo memorizza nella sezione upload del sito, estraendo pagine PHP e installandole nella sezione plugin come per esempio Woo-Add-To-Carts.
Wordfence ha valutato questa vulnerabilità come critica.
Ha aggiunto che l’exploit è stato reso possibile a causa di una problematica di tipo XSS delle pagine a cui l’amministratore aveva accesso.
Il sito non verifica l’autenticazione di updateSettingsAction, una funzione collegata a admin_init, il quale ha un codice che viene eseguito ogni volta che viene caricata una pagina di amministrazione.
Per questo motivo, attraverso una serie di impostazioni, gli hacker possono iniettare payload JavaScript negli elementi che vengono visualizzati sullo schermo.
Wordfence ha scoperto diverse altre vulnerabilità del plugin WordPress.
10Web Map Builder
L’altro bug abbastanza grave da far ottenere una valutazione critica è sorta su 10Web Map Builder per Google Maps.
Molto simile al bug precedente perché consente a un hacker di inserire JavaScript nei valori delle impostazioni che vengono quindi chiamati come admin_init.
Come la prima vulnerabilità, viene eseguito su pagine che non richiedono autenticazione ma funziona anche per alcuni visitatori front-of-site.
JavaScript Async
Altri due bug hanno ottenuto un elevato livello di gravità.
Il primo era nel plugin, che accelera i tempi di caricamento della pagina bloccando JavaScript ritardando il rendering della pagina.
Ha consentito agli hacker di iniettare JavaScript dannosi che si sono attivati quando gli amministratori hanno visualizzato determinate aree della dashboard.
Modern Events Calendar Lite
L’ultimo bug riguardava il plugin Modern Events Calendar Lite, che aiuta nella pianificazione degli eventi.
Questo plugin utilizza diverse azioni per gli utenti che hanno effettuato l’accesso con “privilegi bassi” che manipolano i dati delle impostazioni.
È stato iniettato un codice XSS per la creazione di account ed è stato anche possibile colpire la front page di un sito interessato per influenzare i visitatori.
Questi difetti sono stati tutti corretti, ma tutti hanno interessato plugin molto utilizzati.
WordPress Flexible Checkout Fields e 10Web Map Builder hanno ciascuno oltre 20.000 utenti attivi, mentre Modern Events Calendar Lite ne ha oltre 40.000 e Async JavaScript oltre 100.000.
In alcuni casi, gli utenti hanno segnalato siti compromessi.
Chiunque utilizzi questi plugin dovrebbe aggiornare immediatamente i plugin utilizzando le patch di sicurezza messe a disposizione dagli sviluppatori.