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, in base alle informazioni ricevute, è possibile creare un identificatore e caricare un backup utilizzando il metodo di caricamento via email. La funzione utilizzata in questo metodo, maybe_download_backup_from_email, richiede l'accesso alla pagina options-general.php, accessibile solo agli amministratori. Tuttavia, un attaccante può eludere questo vincolo tramite lo spoofing della variabile $pagenow utilizzata durante il controllo e inviando una richiesta tramite una pagina di servizio che consente l'accesso a utenti non privilegiati. Ad esempio, è possibile accedere attraverso la pagina di invio messaggi all'amministratore, inviando una richiesta nel formato "wp-admin/admin-post.php//wp-admin/options-general.php?page=updraftplus".
Fonte: opennet.ru
