Click2Shell trasforma l’accesso all’area amministrativa di WordPress nell’installazione forzata di un tema
Click2Shell sfrutta WordPress per forzare installazione temi via admin: da CVSS 7,1 a RCE 9,6 con tema vulnerabile. Patch in WordPress 7.1.1.
Testo generato da intelligenza artificiale, pubblicato senza revisione umana. Trasparenza IA
Immagine illustrativa generata con AI
Una vulnerabilità del core di WordPress corretta di recente consente a un attaccante di fare in modo che il browser di un amministratore autenticato installi e visualizzi in anteprima un tema scelto dalla directory ufficiale WordPress.org. I ricercatori di pwn.ai hanno chiamato Click2Shell la tecnica risultante.
La vulnerabilità del core è classificata come grave, con un punteggio CVSS di 7,1. Non consente direttamente di caricare file arbitrari né di eseguire codice. Tuttavia, i ricercatori hanno dimostrato che, combinandola con una vulnerabilità distinta presente in un tema WordPress, è possibile ottenere l’esecuzione di codice lato server, portando il punteggio dell’intera catena a un livello critico: 9,6.
WordPress ha corretto il problema nella versione 7.1.1, rilasciata il 17 settembre, e ha distribuito aggiornamenti di sicurezza corrispondenti per i rami supportati fino a WordPress 4.7. Al momento non ci sono prove che Click2Shell sia stato sfruttato in attacchi reali.
Un URL dannoso fa sì che WordPress prema da solo il pulsante Install
Click2Shell sfrutta il trattamento incoerente dello stesso valore URL controllato dall’attaccante da parte della directory dei temi WordPress.org e del codice JavaScript eseguito nel browser dell’amministratore.
La directory dei temi interpreta il valore fornito come il nome di un tema convenzionale e restituisce un tema legittimo ospitato su WordPress.org. Il codice eseguito nel browser riutilizza poi quel valore, compresa la punteggiatura aggiunta dall’attaccante, per identificare un elemento nella pagina.
Questa manipolazione fa sì che il codice selezioni il controllo Install del tema. Il JavaScript di WordPress attiva quindi il controllo senza che l’amministratore debba premere manualmente il pulsante di installazione.
Il browser fornisce tutto ciò che serve per autorizzare l’azione, perché la vittima ha già effettuato l’accesso con privilegi di amministratore. Sono inclusi la sessione autenticata di WordPress e il token di sicurezza utilizzato per approvare l’installazione. L’attaccante non deve quindi rubare le credenziali, prevedere il token né autenticarsi direttamente al sito.
Resta comunque necessario un intervento dell’utente. Il bersaglio deve aver effettuato l’accesso come amministratore e deve aprire il link appositamente creato.
Questa condizione limita l’attacco rispetto a un exploit remoto completamente non autenticato, ma rende l’URL adatto al phishing, ai messaggi diretti, agli inganni che si spacciano per comunicazioni dell’assistenza o ad altri metodi pensati per raggiungere gli amministratori dei siti.
Anche un tema inattivo può esporre PHP eseguibile
L’installazione forzata non attiva il tema scelto. Di conseguenza, il sito pubblico mantiene il design esistente e gli amministratori potrebbero non notare alcun segnale visivo immediato della presenza di un altro tema sul server.
Inattivo, però, non significa inerte.
WordPress può caricare ed eseguire il codice PHP appartenente a un tema inattivo quando genera un’anteprima tramite il Customizer. Click2Shell sfrutta proprio questo comportamento: dopo aver forzato l’installazione, l’attacco passa all’elaborazione dell’anteprima, dove il codice vulnerabile del tema può diventare raggiungibile senza modificare il normale tema attivo del sito.
Questa distinzione definisce l’impatto concreto della vulnerabilità. Il problema del core di WordPress installa un tema autentico scelto dall’attaccante dalla directory ufficiale. Da solo, però, non può caricare un file ZIP di tema arbitrario né introdurre direttamente PHP scritto dall’attaccante.
Per ottenere l’esecuzione di codice lato server, il tema selezionato deve contenere un’altra vulnerabilità sfruttabile. Click2Shell offre un modo per collocare quel tema sul sistema bersaglio e fare in modo che WordPress ne elabori il codice.
Mobile Repair Zone ha completato la catena dimostrativa
Per la loro dimostrazione, i ricercatori di pwn.ai hanno scelto il tema Mobile Repair Zone. Un gestore vulnerabile eseguito in background da quel tema accettava un indirizzo Web in una richiesta, scaricava un pacchetto dalla posizione specificata ed eseguiva il codice contenuto nel pacchetto.
Il gestore non verificava che il richiedente disponesse delle autorizzazioni necessarie. Inoltre, non imponeva la presenza di un token di sicurezza.
L’assenza di questi controlli ha reso il gestore utile come seconda fase dell’attacco. Innanzitutto, Click2Shell faceva sì che WordPress installasse Mobile Repair Zone da WordPress.org. WordPress caricava quindi il tema inattivo durante la generazione di un’anteprima nel Customizer. Una volta reso disponibile il gestore vulnerabile, l’attaccante poteva ordinargli di recuperare ed eseguire codice controllato dall’attaccante sul server.
Si tratta di un exploit concatenato, non di una vulnerabilità autonoma di esecuzione remota di codice nel core di WordPress. I due componenti hanno ruoli distinti:
- Click2Shell sfrutta la sessione di un amministratore per installare e visualizzare in anteprima un tema legittimo.
- La vulnerabilità del tema recupera un pacchetto remoto ed esegue il contenuto senza adeguati controlli di autorizzazione.
Il punteggio critico di 9,6 si applica a questo percorso completo. La sola vulnerabilità di installazione del core ha un punteggio di 7,1.
WordPress dalla versione 6.0 alle release precedenti alla correzione è vulnerabile
La vulnerabilità è stata confermata in WordPress 6.0 e nelle release successive fino alle versioni immediatamente precedenti alla correzione. La principale release corretta è WordPress 7.1.1.
WordPress ha inoltre pubblicato aggiornamenti di sicurezza equivalenti per i rami supportati interessati, con una copertura che risale alla versione 4.7. Gli amministratori non devono necessariamente portare ogni installazione al ramo funzionale 7.1, ma devono applicare l’aggiornamento di sicurezza corrispondente al ramo utilizzato.
I siti configurati per accettare automaticamente gli aggiornamenti di sicurezza del core di WordPress dovrebbero ricevere la correzione in automatico. Gli operatori dovrebbero comunque verificare la versione installata, senza dare per scontato che l’aggiornamento sia stato completato correttamente, soprattutto quando permessi sui file, controlli di distribuzione o impostazioni di gestione degli aggiornamenti possono interrompere l’installazione automatica.
WordPress non ha pubblicato una propria classificazione della gravità di Click2Shell. Al momento non è stato assegnato alcun identificativo CVE, anche se pwn.ai ha dichiarato che WordPress prevede di aggiungerne uno.
Non sono stati forniti indicatori pubblici di compromissione. Anche il formato degli URL interessati e gli altri artefatti utili al rilevamento non sono noti sulla base delle informazioni divulgate.
L’aggiornamento del core chiude il percorso di installazione forzata
Gli amministratori dovrebbero installare WordPress 7.1.1 o l’aggiornamento di sicurezza corrispondente per il ramo supportato attualmente in uso. L’aggiornamento del core blocca la tecnica dimostrata di installazione e visualizzazione in anteprima, indipendentemente dalla presenza di Mobile Repair Zone o di un altro tema potenzialmente vulnerabile.
Né WordPress né pwn.ai hanno fornito una soluzione tecnica alternativa per i sistemi che non possono essere aggiornati immediatamente. Fino all’applicazione dell’aggiornamento, gli amministratori dovrebbero evitare di aprire link non attendibili mentre hanno effettuato l’accesso a WordPress, soprattutto gli URL presentati come risorse per la gestione del sito, dei temi o dell’assistenza.
Questa precauzione riduce soltanto l’esposizione. Non elimina il comportamento vulnerabile.
I responsabili della difesa possono inoltre esaminare i temi installati alla ricerca di aggiunte inattese, compresi quelli che restano inattivi. Poiché Click2Shell non deve attivare il tema selezionato, monitorare esclusivamente le modifiche al tema attivo farebbe sfuggire il comportamento dimostrato dai ricercatori. Un’installazione di un tema non giustificata dovrebbe portare a esaminare l’attività degli amministratori e la successiva elaborazione nel Customizer.
Click2Shell non è la stessa cosa di wp2shell
Click2Shell segue un altro problema del core di WordPress individuato da pwn.ai e corretto in agosto. La vulnerabilità precedente riguardava la schermata di accesso e poteva anch’essa essere combinata con altre debolezze per arrivare all’esecuzione di codice, sebbene WordPress ne avesse descritto il rischio in termini più circoscritti rispetto ai ricercatori.
Un’altra vulnerabilità del core di WordPress divulgata a luglio, denominata wp2shell, non è collegata al lavoro di pwn.ai su Click2Shell. Le condizioni di sfruttamento sono più gravi: wp2shell non richiede né l’autenticazione né il clic della vittima e CISA l’ha inserita nell’elenco delle vulnerabilità sfruttate in attacchi reali.
Per Click2Shell non esistono prove equivalenti di uno sfruttamento attivo. Il fatto che richieda a un amministratore autenticato di aprire un URL dannoso costituisce un prerequisito significativo, ma la proof of concept mostra come quella singola azione possa oltrepassare diversi confini di sicurezza: dalla selezione di un elemento nel browser all’installazione del tema, dal caricamento di PHP durante l’anteprima fino all’esecuzione lato server, quando è disponibile un secondo componente vulnerabile.
Fonti
Questo articolo è una rielaborazione originale basata sulle fonti seguenti.
