Una falla nel plugin WordPress Backuply può consentire il site takeover
Il plugin WordPress Backuply contiene una vulnerabilità SQL injection di gravità elevata che può trasformare un normale account subscriber in un accesso completo da amministratore dopo il ripristino di un backup del database. Secondo Wordfence, il problema interessa tutte le versioni di Backuply fino alla 1.5.8 inclusa. Lo sviluppatore ha pubblicato la versione corretta 1.5.9 il 1° ottobre 2026. Backuply, il cui nome completo è Backuply - Backup, Restore, Migrate and Clone, conta più di 600.000 installazioni attive.
La vulnerabilità è identificata come CVE-2026-93953 e ha un punteggio di 8.0 nel Common Vulnerability Scoring System (CVSS), classificato come High. Una SQL injection è una falla di sicurezza in cui contenuti controllati da un attaccante diventano parte di un comando del database. In questo caso, il problema è una second-order SQL injection: il contenuto dannoso viene inizialmente memorizzato e rimane inattivo finché il plugin non lo elabora durante un’operazione successiva. Un attaccante deve già disporre di un account WordPress autenticato con ruolo subscriber o superiore.
L’attacco inizia dal campo Biographical Info, che gli utenti registrati possono modificare nei propri profili. WordPress memorizza questo valore nella tabella del database wp_usermeta. Se Backuply crea un backup del database dopo il salvataggio della biografia dannosa, tale valore entra a far parte dello SQL dump, ossia un file contenente i comandi del database e le informazioni memorizzate necessari per ricostruire il database. Il payload non viene eseguito quando viene inserita la biografia né quando viene creato il backup. Si attiva soltanto se un amministratore ripristina successivamente il backup interessato.
Wordfence ha scoperto che il processo di ripristino di Backuply esegue le istruzioni contenute nello SQL dump e utilizza quindi una unanchored regular expression per identificare il vecchio table prefix di WordPress. Un table prefix è la parte iniziale dei nomi delle tabelle del database che distingue le tabelle di una specifica installazione di WordPress. L’espressione non è limitata a un’autentica intestazione CREATE TABLE e non ignora i valori tra virgolette, perciò può individuare contenuti appositamente creati all’interno della biografia memorizzata. Se la stessa istruzione contiene anche backuply_version, il contenuto acquisito viene inserito in una seconda query UPDATE senza alcuna convalida.
Un attaccante può quindi costruire la biografia in modo che il valore acquisito venga interpretato come un comando del database anziché come un table prefix. Un comment character può scartare il resto della query generata dal plugin. Il metodo dimostrato da Wordfence modifica le voci default_role e users_can_register nella tabella wp_options, abilitando la registrazione pubblica e impostando Administrator come ruolo automatico per i nuovi account registrati. Poiché wp_options viene ripristinata prima di wp_usermeta, tali modifiche sono già presenti quando viene eseguita la query iniettata e restano attive dopo il ripristino. L’attaccante può quindi utilizzare il normale modulo di registrazione per creare un nuovo account con privilegi di amministratore e assumere il controllo del sito.
L’operazione iniettata viene eseguita durante un’istruzione INSERT e non restituisce una risposta all’attaccante. Wordfence l’ha quindi descritta come un metodo per modificare i record del database, anziché per recuperare direttamente dati esistenti. La condizione fondamentale è la fase di ripristino: un amministratore deve ripristinare un backup del database creato dopo la memorizzazione del valore dannoso nel profilo. Fino a quel momento, il payload memorizzato non viene eseguito. La creazione e il ripristino dei backup sono funzioni centrali del plugin, rendendo questa condizione rilevante dal punto di vista operativo, anche se lo sfruttamento non è immediato.
Wordfence ha ricevuto la segnalazione della vulnerabilità il 17 settembre 2026, ha convalidato il proof of concept il 19 settembre e ha distribuito una firewall rule agli utenti Premium, Care e Response il 24 settembre. L’azienda ha comunicato il problema al team di Backuply il 28 settembre e la versione 1.5.9 è stata pubblicata il 1° ottobre. Wordfence ha dichiarato che gli utenti del suo prodotto gratuito avrebbero ricevuto la stessa firewall rule il 24 ottobre, 30 giorni dopo la distribuzione iniziale. Il ricercatore che ha segnalato la vulnerabilità tramite il Wordfence Bug Bounty Program ha ricevuto 1.352 dollari. La firewall rule è stata descritta come una protezione contro exploit noti che prendono di mira il plugin ospitato su WordPress.org, ma l’aggiornamento di Backuply rimane l’azione correttiva raccomandata.
I proprietari dei siti dovrebbero verificare che Backuply utilizzi la versione 1.5.9 o successiva, controllare gli account subscriber e trattare con cautela i backup creati mentre era attiva una versione vulnerabile. Dopo il ripristino di un backup di questo tipo, gli amministratori dovrebbero verificare che la registrazione pubblica non sia stata abilitata inaspettatamente e che ai nuovi utenti non venga assegnato il ruolo Administrator. Per le organizzazioni che preferiscono un supporto operativo per i propri siti, AEU Hosting offre hosting WordPress gestito e protetto end to end.