Nel plugin WordPress UpdraftPlus, con oltre 3 milioni di installazioni attive, è stata identificata una vulnerabilità critica (CVE-2022-0633) che consente a un utente esterno di caricare una copia del database del sito, contenente oltre ai contenuti anche i parametri di tutti gli utenti e gli hash delle password. Il problema è stato risolto nelle versioni 1.22.3 e 2.22.3, che si raccomanda di installare il prima possibile a tutti gli utenti di UpdraftPlus.
UpdraftPlus è presentato come il plugin più popolare per creare backup dei siti in esecuzione sulla piattaforma WordPress. A causa di un controllo dei diritti di accesso non corretto, il plugin consentiva di caricare un backup del sito e il relativo database non solo agli amministratori, ma anche a qualsiasi utente registrato sul sito, ad esempio, con lo status di abbonato.
Per caricare i backup in UpdraftPlus viene utilizzato un identificatore generato sulla base del timestamp della creazione del backup e di una sequenza casuale (nonce). Il problema è che, a causa della mancanza di controlli adeguati nel gestore delle richieste heartbeat di WordPress, attraverso una richiesta appositamente formattata, qualsiasi utente può ottenere informazioni sull'ultimo backup, che include anche dati relativi al tempo e alla sequenza casuale associata.
Successivamente, sulla base delle informazioni ottenute, è possibile generare un identificatore e caricare un backup utilizzando il metodo di caricamento via email. La funzione maybe_download_backup_from_email utilizzata in questo metodo richiede l'accesso alla pagina options-general.php, accessibile solo all'amministratore. Tuttavia, un attaccante può aggirare questa restrizione tramite lo spoofing della variabile $pagenow utilizzata per il controllo e inviando una richiesta attraverso una pagina di servizio che consente l'accesso a utenti non privilegiati. Ad esempio, è possibile accedere tramite la pagina di invio messaggi all'amministratore, inviando la richiesta come "wp-admin/admin-post.php//wp-admin/options-general.php?page=updraftplus".
Fonte: opennet.ru
