
# Analisi ed exploit di CVE-2023-3460, una critica escalation di privilegi nel plugin WordPress Ultimate Member, con ambiente di riproduzione e indicazioni di mitigazione.
| CVE ID | CVSS Score | Discovered | Affected Plugin | Vulnerability Type |
|---|---|---|---|---|
| CVE-2023-3460 | 07/04/2023 | Ultimate Member | Unauthorized Admin Access |
Questo studio si concentra sulla CVE¹-2023-3460, una vulnerabilità critica che colpisce il plugin "Ultimate Member" di Wordpress, consentendo un'escalation di privilegi non autorizzata. Questo plugin è ampiamente diffuso e utilizzato per la gestione dei profili su siti WordPress. Questa vulnerabilità presenta un rischio maggiore poiché consente a un attaccante di ottenere diritti di amministratore e quindi il controllo totale del sito. È per questo motivo che questa falla è stata classificata come critica e valutata 9.1 sulla scala CVSS dal NIST².
La CVE-2023-3460 sfrutta una falla nella gestione dei ruoli e delle autorizzazioni da parte del plugin. In WordPress, la funzione WP_Capabilities³ viene utilizzata per gestire i ruoli e le autorizzazioni degli utenti. Questa funzione consente agli amministratori di definire capacità specifiche per ogni ruolo utente. Tuttavia, un uso improprio di questa funzione può portare a vulnerabilità di elevazione dei privilegi.
Nel caso di Ultimate Member, la vulnerabilità consente a un attaccante di aggirare la verifica delle capacità WP e ottenere un accesso a livello di amministratore al sito. Il plugin funziona utilizzando un elenco predefinito di chiavi di metadati utente che non dovrebbero essere manipolate dagli utenti. Tuttavia, questo approccio di sicurezza, basato su liste di blocco, è spesso insufficiente poiché lascia possibilità di aggiramento.
WordPress gestisce i ruoli e le autorizzazioni degli utenti attraverso una struttura chiamata wp_capabilities. Questa struttura è una rappresentazione serializzata dei diversi ruoli e autorizzazioni concessi agli utenti. Ad esempio, un amministratore avrà un insieme di capacità diverso da un editore o da un collaboratore. Queste capacità sono memorizzate nel database WordPress sotto forma di array serializzati nella tabella wp_usermeta.
La falla CVE-2023-3460 ha origine nell'implementazione della gestione dei ruoli e delle autorizzazioni da parte di Ultimate Member. Il plugin opera utilizzando un elenco predefinito di chiavi di metadati utente che gli utenti non dovrebbero manipolare. Questo elenco viene utilizzato per verificare se gli utenti tentano di salvare queste chiavi durante la creazione di un account. Questo approccio è un anti-pattern di sicurezza comune, dove il blocco degli input noti come dannosi (liste di blocco) può sembrare intuitivo, ma si rivela più complesso del previsto e spesso lascia spazio a aggiramenti di sicurezza.
Qui, Ultimate Member utilizza una verifica insufficiente dei metadati inviati durante la registrazione degli utenti. Il plugin utilizza una funzione chiamata is_metakey_banned per verificare se i metadati inviati dall'utente sono consentiti. Questa funzione controlla se i metadati inviati sono presenti nell'elenco dei metadati vietati. Se è così, la funzione restituisce true e la registrazione dell'utente viene bloccata. Altrimenti, la funzione restituisce false e la registrazione dell'utente viene consentita.
Tuttavia, Wordpress accetta alcuni caratteri accentati come caratteri predefiniti. Se un utente invia metadati con caratteri accentati, la funzione is_metakey_banned non li rileverà e la registrazione dell'utente sarà consentita.
Il plugin Ultimate Member è ampiamente utilizzato in vari ambienti, che vanno da piccoli blog personali a grandi siti di e-commerce. Nessuna ipotesi specifica può essere fatta sulle competenze in sicurezza informatica degli utenti finali o degli amministratori dei siti.
I server che ospitano i siti WordPress sono generalmente situati in data center sicuri. Per i siti personali, la sicurezza fisica dipende dall'ambiente individuale dell'utente.
Si presume che il plugin Ultimate Member sia installato e configurato correttamente secondo le istruzioni ufficiali. Il sito WordPress è considerato mantenuto aggiornato, con misure di sicurezza di base in atto.
| Minacce | B1 (Riservatezza dei dati utente) | B2 (Integrità del sito web) | B3 (Integrità del plugin Ultimate Member) |
|---|---|---|---|
| M1 Accesso non autorizzato | X | X | X |
| M2 Iniezione di codice dannoso | X | X | |
| M3 Fuga di dati | X | ||
| M4 Deterioramento della reputazione | X |
7.5 Le funzioni di sicurezza