WordPress: rimosso il plugin Yuzo “articoli correlati” per una vulnerabilità non risolta

Il plug-in di WordPress relativo agli articoli correlati sviluppato dalla software house Yuzo, installato su oltre 60.000 siti Web, è stato rimosso dalla directory dei plug-in di WordPress.org il 30 marzo 2019 dopo che una vulnerabilità senza patch è stata divulgata pubblicamente e in modo irresponsabile. La vulnerabilità, che consente lo storage cross-site scripting (XSS), è stata subito sfruttata da operatori disonesti. Gli attacchi ai siti web che utilizzano il suddetto plugin sembrano essere collegati allo stesso operatore che ha preso di mira le vulnerabilità recentemente scoperte dei plugin Social Warfare e Easy WP SMTP.

L’attacco provoca un redirect diretto non appena inizia il caricamento di una pagina del sito web cercato, se questo ha installato il plugin “articoli correlati” di Yuzo. Il redirect convoglia il traffico verso siti di spam pubblicitario disonesto, con il rischio anche di installazione di script nocivi nel browser, sia si desktop che su smartphone.

La protezione XSS inclusa nel firewall di Wordfence sembra proteggere dai tentativi di exploit finora noti, a patto che wordfence sia stato installato preventivamente. Sia gli utenti di Wordfence gratuiti che Premium sono protetti da questi attacchi. Sulla base di un’analisi più approfondita dei difetti di sicurezza presenti nel plug-in, è stata implementata la protezione contro vettori di attacco aggiuntivi. I clienti premium hanno già ricevuto lk’aggiornamento relativo, mentre gli utenti della versione gratuita  lo riceveranno nei prossimi.

Ovviamente, il consiglio per tutti è di rimuovere il plugin incriminato dal proprio sito.

is_admin () colpisce ancora

La vulnerabilità nei messaggi correlati a Yuzo deriva dalla mancata verifica dell’autenticazione nelle routine di plugin responsabili della memorizzazione delle impostazioni nel database. Il codice sottostante assets/ilenframework/core.phpè il punto cruciale del problema.

1 function __construct(){
2
3 if( ! is_admin() ){ // only front-end
4
5 self::set_main_variable();
6 return;
7
8 }elseif( is_admin() ){ // only admin
9
10 // set default if not exists
11 self::_ini_();

Gli sviluppatori spesso usano erroneamente is_admin()per verificare se un pezzo di codice che richiede privilegi amministrativi debba essere eseguito, ma come sottolinea la documentazione di WordPress,non è così che dovrebbe essere usata la funzione. In questo scenario self::_ini_()viene richiamata da qualsiasi richiesta a una pagina di interfaccia amministrativa, inclusi /wp-admin/options-general.php/wp-admin/admin-post.php, che consentono a una pagina POST di essere inviata a tali pagine self::save_options();successivamente nel codice.

Il risultato è che un utente malintenzionato non autenticato può immettere contenuti dannosi, come un payload JavaScript, nelle impostazioni del plug-in. il codice generato viene quindi inserito nei codice HTML ed eseguito dal browser Web quando gli utenti visitano il sito Web compromesso. Questo problema di sicurezza potrebbe essere utilizzato per deturpare i siti Web, reindirizzare i visitatori verso siti Web non sicuri o compromettere gli account amministratore di WordPress, tra le altre cose.

Gli exploit attualmente individuati iniettano JavaScript dannoso nel file yuzo_related_post_css_and_style.

Quando un utente visita un sito Web compromesso contenente il codice di cui sopra, verrà reindirizzato, ad esempio, su una landing page disonesta dalla quale l’utente non riuscirà ad uscire senza chiudere il browser, con il rischio di installare codice maligno.

 

Tre vulnerabilità con molto in comune

L’ analisi effettuata dal team di sviluppo di Wordfence mostra che i tentativi di sfruttare questa vulnerabilità condividono una serie di elementi comuni con attacchi a due altre vulnerabilità scoperte in altri plugin: Social Warfare e Easy WP SMTP.

Gli exploit finora hanno utilizzato uno script malevolo su hellofromhony[.]org Lo stesso indirizzo IP è stato utilizzato nelle campagne Social Warfare e Easy WP SMTP. Inoltre, tutte e tre le campagne hanno comportato lo sfruttamento delle vulnerabilità di archiviazione XSS archiviate e hanno implementato reindirizzamenti dannosi. il team sembra convinto che le tattiche, le tecniche e le procedure (TTP) in tutti e tre le tipologie di attacchi siano dovuti ad un autore comune.

Conclusione

I proprietari di siti che eseguono il plugin dpost correlati di Yuzo sono invitati a rimuoverlo immediatamente dai loro siti.