È stata analizzata e documentata una nuova vulnerabilità in Essential Addons for Elementor, uno dei plugin più diffusi del CMS WordPress con oltre un milione di installazioni attive.
In particolare, nelle versioni precedenti alla 5.0.4 il plugin Elementor presenta un bug critico che consente a qualsiasi utente, indipendentemente dal proprio stato di autenticazione o autorizzazione, di eseguire un attacco di inclusione di file locali.
Indice degli argomenti
Vulnerabilità nel plugin Elementor: i dettagli
La vulnerabilità è stata identificata dai ricercatori di PatchStack, società specializzata in test e verifica di sicurezza per i plugin di WordPress, che hanno pubblicato un report interamente ispirato alla scoperta originariamente riconducibile a un ricercatore di sicurezza informatica indipendente, Wai Yan Myo Thet, il primo ad aver segnalato il problema direttamente al team di sviluppo del plugin.
Gli sviluppatori del plugin hanno risposto molto prontamente con il rilascio della versione 5.0.5, pubblicata per l’aggiornamento. I ricercatori di PatchStack, però, hanno verificato, dimostrandolo, che l’aggiornamento alla versione 5.0.5 non è utile a risolvere completamente il bug. A questo punto il team di Essential Addons for Elementor ha corretto ulteriormente il difetto rilasciando un secondo aggiornamento a distanza di pochi giorni dal precedente: la versione 5.0.6 che ha definitivamente risolto la vulnerabilità.
Possibili impatti della vulnerabilità in Elementor
La vulnerabilità può essere sfruttata per includere file locali, ad esempio uno con codice PHP dannoso, nel file system del sito Web: questi file possono quindi essere eseguiti in remoto.
Secondo PatchStack, la falla ha a che fare con il modo in cui il plug-in gestisce i dati di input dell’utente quando vengono richiamate determinate funzioni. Per questo motivo, la vulnerabilità si manifesta solo se vengono utilizzati widget che utilizzano tali funzioni.
Questo attacco può essere utilizzato per includere file locali nel filesystem del sito Web, come “/etc/passwd” per i sistemi basati su Linux, ma anche per eseguire RCE (Remote Code Execution) includendo un file con codice PHP dannoso che normalmente non potrebbe essere eseguito.
Come detto, il plugin Elementor ha oltre un milione di installazioni attive, allo stato attuale, è molto diffuso e utilizzato per migliorare l’esperienza di creazione di pagine di Elementor con oltre 80 elementi ed estensioni creative.
Di questo milione di installazioni, basandoci sulle statistiche riportate da WordPress, almeno il 50% è basato su versioni precedenti alla 5.0, il che significa circa 500 mila siti web esposti a questa vulnerabilità, ma anche certamente a tante altre, visto che dalla versione 4.9 ci sono stati diversi salti di versione prima di raggiungere la 5.0.6 attuale.
Quindi, la vulnerabilità esiste solo se vengono utilizzati widget (galleria dinamica, galleria prodotti) che utilizzano le funzioni ajax_load_more e ajax_eael_product_gallery, in quanto è presente un controllo del token nonce. Questo token nonce è visibile solo quando questi widget sono abilitati.
I frammenti di codice che causano la vulnerabilità hanno un aspetto simile a ciò che ha evidenziato PatchStack (il pericolo principale è negli include, che verrebbero abusati):
Seguendo la sequenza temporale, i lavori su questo bug sono iniziati il 25 gennaio, addirittura nella versione 5.0.3. Risolvendo definitivamente il problema con la terza patch, sulla versione 5.0.5, ufficialmente considerata versione fuori pericolo.
Soluzioni di mitigazione del rischio
Per questo genere di inconvenienti è estremamente importante aggiornare i propri prodotti: la diffusione di questo plugin espone numerosi server a gravi pericoli per la sicurezza produttiva, considerando che un attacco sopra questo sfruttamento non impatta unicamente sull’installazione di WordPress, ma su tutta l’operatività del server web ospitante, a seconda del codice che si fa eseguire con il file malevolo iniettato tramite abuso degli include.
È bene ricordarlo: un pericolo importante che questa (come altre in passato) vulnerabilità permette di correre è attribuibile a tutte quelle installazioni (all’interno di quel milione visto sopra) che si riferiscono a progetti di siti web attivi, perfettamente funzionanti online, ma “morti” concettualmente, cioè abbandonati.
Questi siti sono i più pericolosi perché difficilmente rilevabili: spesso accade, infatti, che la società o freelancer che l’hanno lanciato non ne tengano più traccia, dimenticando qualsiasi manutenzione con la giustificazione che il progetto non esiste più, ma esponendo inconsapevolmente l’operatività dello stesso server web a rischi molto grandi ed evidenti.