Elementor Pro 4.2.1 e versioni precedenti possono essere compromessi da una vulnerabilità di esecuzione di codice remoto (RCE) non autenticata nel campo di caricamento file del widget Forms; il problema è stato risolto nella versione 4.2.2, pertanto i siti che utilizzano versioni precedenti dovrebbero aggiornarsi immediatamente.
Cosa fa il bug
La vulnerabilità ha un punteggio CVSS di 9.0, il che significa che un attaccante in grado di raggiungere un sito vulnerabile può eseguire codice PHP arbitrario sul server senza effettuare l'accesso o fornire alcuna credenziale. Il problema risiede nel modo in cui Elementor Pro elabora i caricamenti dei file nel suo widget Forms. Il plugin esegue due cicli separati: uno che convalida ogni file caricato e un altro che salva il file nella directory di caricamento accessibile via web.
Un attaccante può creare una singola richiesta contenente due file. Al primo file viene assegnato un nome vuoto, il che porta il ciclo di convalida a saltare il controllo. Il secondo file, uno script PHP malevolo, supera il secondo ciclo e viene scritto in una cartella pubblica. Poiché Elementor Pro assegna ai file caricati un nome basato su un timestamp, l'attaccante può prevedere il nome del file e successivamente richiederlo direttamente per eseguire il codice.
Come è emersa la falla
Il design a doppio ciclo era stato concepito per mantenere indipendenti la convalida e l'archiviazione, ma la mancanza di un controllo di coerenza condiviso ha permesso al trucco del "nome vuoto" di passare inosservato. Il bug colpisce ogni installazione che utilizza il campo di caricamento file del widget Forms, indipendentemente dal fatto che il proprietario del sito abbia abilitato tale funzione per i visitatori.
Chi è a rischio
Qualsiasi sito WordPress che abbia installato Elementor Pro 4.2.1 o una versione precedente è esposto. Poiché l'exploit non richiede autenticazione, sono vulnerabili anche i siti che limitano l'accesso amministrativo. Un'esfiltrazione riuscita conferisce all'attaccante il pieno controllo sull'ambiente di hosting, aprendo la strada al furto di dati, al defacement del sito o all'installazione di ransomware.
Cosa fare ora
Verificare la versione installata con il comando WordPress CLI:
wp plugin list --name=elementor-pro --field=versionSe l'output mostra la versione 4.2.1 o inferiore, aggiornare immediatamente alla 4.2.2 o successiva. L'aggiornamento sostituisce la logica di caricamento difettosa con un'unica routine atomica di convalida e salvataggio che blocca l'aggiramento tramite nome vuoto.
Dopo l'aggiornamento, controllare la directory di caricamento (uploads) alla ricerca di eventuali file PHP che corrispondano al pattern del timestamp utilizzato dal plugin e rimuoverli.
Valutare la disattivazione del campo di caricamento file nei moduli pubblici fino all'applicazione della patch, specialmente sui siti ad alto traffico.
Controargomentazione
Alcuni sviluppatori sostengono che il rischio sia limitato perché l'exploit richiede che il widget Forms sia configurato con un campo di caricamento file accessibile pubblicamente. Tuttavia, molti siti basati su Elementor espongono tali moduli per contatti, candidature di lavoro o contenuti generati dagli utenti, rendendo questa condizione abbastanza comune da far ritenere la vulnerabilità critica.
Cosa monitorare in seguito
I ricercatori di sicurezza prevedono la pubblicazione di ulteriori avvisi man mano che altri siti segnaleranno tentativi di sfruttamento. Monitorare le comunicazioni ufficiali di Elementor e i database di vulnerabilità autorevoli per eventuali patch o misure di mitigazione successive.
In sintesi: La falla RCE in Elementor Pro 4.2.1 e versioni precedenti è un vettore di attacco ad alta gravità che non richiede l'accesso. L'aggiornamento alla versione 4.2.2 è l'unica difesa affidabile; ritardare espone il server e i dati a gravi rischi.
