Una nuova vulnerabilità di sicurezza denominata Click2Shell interessa numerose installazioni WordPress e può consentire a un attaccante di far installare silenziosamente un tema attraverso un collegamento appositamente costruito.

Il problema è stato corretto con WordPress 7.1.1, pubblicato il 17 settembre 2026. Gli amministratori dovrebbero quindi controllare immediatamente la versione installata e applicare l’aggiornamento di sicurezza disponibile per il proprio ramo di WordPress.

La vulnerabilità del Core, presa singolarmente, non permette automaticamente di eseguire qualsiasi codice sul server. Il rischio diventa però critico quando viene combinata con una seconda falla presente nel tema installato dall’attaccante.

Che cos’è Click2Shell

Click2Shell è il nome assegnato dai ricercatori di pwn.ai a una catena di vulnerabilità che può iniziare con un solo clic effettuato da un amministratore WordPress già autenticato.

L’attacco utilizza un URL costruito in maniera particolare. Se un amministratore con una sessione attiva apre quel collegamento, WordPress può essere indotto a installare e mostrare in anteprima un tema proveniente dalla directory ufficiale, senza che l’utente prema volontariamente il pulsante di installazione.

Il tema rimane inattivo e la grafica del sito non cambia. Per questo l’operazione potrebbe passare inosservata.

Come funziona la vulnerabilità

Il problema nasce dal modo differente in cui due componenti interpretano lo stesso valore contenuto nell’indirizzo web.

La directory di WordPress.org considera quel valore come il nome di un tema realmente disponibile. Il codice JavaScript eseguito nel browser dell’amministratore, invece, riutilizza il valore originale per individuare un elemento nella pagina di amministrazione.

Attraverso caratteri costruiti appositamente, un attaccante può alterare questa selezione e indirizzarla verso il pulsante utilizzato per installare il tema. Lo script della pagina finisce quindi per azionare il comando sfruttando la sessione dell’amministratore.

L’aggressore non deve conoscere la password e non deve possedere il nonce di sicurezza: sono i privilegi della sessione già autenticata a rendere possibile l’operazione.

Perché è necessario il clic di un amministratore

Click2Shell non compromette automaticamente ogni sito WordPress raggiungibile da Internet. Per avviare la catena descritta dai ricercatori devono verificarsi alcune condizioni:

  • un amministratore deve avere una sessione WordPress attiva;
  • l’amministratore deve aprire il collegamento preparato dall’attaccante;
  • il sito deve utilizzare una versione di WordPress vulnerabile;
  • per arrivare all’esecuzione di codice deve essere disponibile anche una seconda vulnerabilità sfruttabile nel tema installato.

Questo non rende il problema trascurabile. I collegamenti possono essere distribuiti tramite phishing, email, messaggi privati, ticket di assistenza o comunicazioni apparentemente legittime.

Un tema inattivo può comunque eseguire codice

Un aspetto importante riguarda l’anteprima dei temi. Un tema WordPress non deve necessariamente essere attivato per vedere eseguito parte del proprio codice PHP.

Quando WordPress genera un’anteprima attraverso gli strumenti di personalizzazione, può caricare i file del tema anche se questo risulta ancora inattivo. Di conseguenza, installare silenziosamente un tema vulnerabile può creare le condizioni necessarie per un secondo attacco.

Dall’installazione del tema all’esecuzione di codice

Per dimostrare la gravità della catena, i ricercatori hanno utilizzato una vulnerabilità separata presente nel tema Mobile Repair Zone.

Il tema conteneva una funzione in background capace di ricevere un indirizzo remoto, scaricare un pacchetto ed eseguirne il contenuto senza verificare adeguatamente autorizzazioni e token di sicurezza.

Combinando questa debolezza con l’installazione forzata del tema, è stato possibile arrivare all’esecuzione di codice sul server. In uno scenario reale ciò potrebbe consentire di installare malware, creare utenti amministratori, modificare file, sottrarre informazioni o compromettere completamente il sito.

Click2Shell non può installare qualsiasi archivio ZIP

È importante chiarire che la vulnerabilità del Core non permette, da sola, di caricare un tema arbitrario preparato dall’attaccante.

L’aggressore può scegliere un tema realmente presente nella directory ufficiale di WordPress.org. Per trasformare l’installazione in una compromissione completa deve quindi individuare un tema disponibile nella directory che contenga un’altra vulnerabilità utilizzabile.

Il rischio dimostra comunque quanto possa essere pericolosa la combinazione di più problemi apparentemente separati.

Gravità alta o critica?

Le due valutazioni si riferiscono a scenari differenti:

  • CVSS 7.1, gravità alta: riguarda la vulnerabilità del Core che permette l’installazione e l’anteprima forzata di un tema ufficiale;
  • CVSS 9.6, gravità critica: riguarda la catena completa che combina Click2Shell con una vulnerabilità nel tema e arriva all’esecuzione di codice.

Queste valutazioni sono state fornite dai ricercatori che hanno analizzato il problema. WordPress non aveva pubblicato una propria classificazione CVSS al momento della divulgazione.

Quali versioni di WordPress sono vulnerabili?

Il difetto riguarda le versioni di WordPress dalla 6.0 fino alle versioni precedenti alla relativa correzione. La patch principale è inclusa in WordPress 7.1.1, mentre gli aggiornamenti di sicurezza sono stati distribuiti anche per i rami precedenti ancora supportati.

Chi non utilizza WordPress 7.x deve installare l’aggiornamento proposto nella propria Bacheca, corrispondente al ramo attualmente in uso.

Come verificare se il sito è aggiornato

Per effettuare il controllo è possibile accedere alla Bacheca WordPress e aprire:

Bacheca → Aggiornamenti

In questa schermata viene mostrata la versione installata e l’eventuale disponibilità di un aggiornamento. Anche quando gli aggiornamenti automatici sono abilitati, è opportuno verificare manualmente che l’installazione sia stata completata.

Prima di aggiornare un sito particolarmente importante è consigliabile creare un backup completo dei file e del database. Il backup non deve però diventare un motivo per rimandare a lungo una patch di sicurezza.

Cosa fare immediatamente

  1. Creare un backup completo del sito e del database.
  2. Installare l’aggiornamento di sicurezza di WordPress disponibile.
  3. Aggiornare temi e plugin alle versioni più recenti.
  4. Eliminare i temi inutilizzati, mantenendo soltanto quello attivo e un eventuale tema predefinito di emergenza.
  5. Controllare l’elenco dei temi per individuare installazioni inattese.
  6. Verificare gli utenti amministratori e rimuovere eventuali account sconosciuti.
  7. Esaminare i log del server e le modifiche recenti ai file.
  8. Evitare di aprire link amministrativi ricevuti attraverso messaggi non verificati.

Come controllare la presenza di temi sospetti

Dalla Bacheca è possibile aprire Aspetto → Temi e verificare se sono presenti elementi che non sono stati installati dal proprietario o dal gestore del sito.

Il controllo visuale, tuttavia, non è sufficiente per escludere una compromissione. Se esiste il sospetto che un collegamento malevolo sia stato aperto prima dell’aggiornamento, è consigliabile controllare anche:

  • data e ora di creazione delle cartelle presenti in wp-content/themes;
  • file PHP modificati recentemente;
  • nuovi utenti con privilegi amministrativi;
  • plugin sconosciuti o disattivati;
  • operazioni anomale registrate nei log di accesso;
  • richieste sospette verso le pagine di installazione e anteprima dei temi.

Non basta aggiornare soltanto il Core

L’aggiornamento del Core blocca il vettore Click2Shell dimostrato dai ricercatori, ma la vicenda mette in evidenza un problema più ampio: la sicurezza di WordPress dipende anche dal codice di temi e plugin.

Un componente vulnerabile può trasformare un problema limitato in una compromissione completa del server. Per ridurre la superficie di attacco è quindi importante:

  • installare solo componenti realmente necessari;
  • rimuovere definitivamente temi e plugin inutilizzati;
  • applicare rapidamente gli aggiornamenti;
  • utilizzare account amministrativi solo quando necessario;
  • proteggere gli accessi con autenticazione a due fattori;
  • mantenere backup esterni e verificati;
  • monitorare modifiche ai file e nuovi account privilegiati.

Click2Shell è già sfruttata negli attacchi?

Al momento della divulgazione non risultavano prove pubbliche di sfruttamento attivo della vulnerabilità. L’assenza di attacchi conosciuti, però, non garantisce che non possano iniziare dopo la pubblicazione dei dettagli tecnici.

Una volta resa nota una vulnerabilità, aumenta infatti la possibilità che vengano sviluppati strumenti automatici, campagne di phishing e tentativi mirati contro siti non aggiornati.

Conclusioni

Click2Shell mostra come una singola azione apparentemente innocua possa avviare una catena di attacco complessa. La vulnerabilità del Core consente l’installazione silenziosa di un tema ufficiale; una seconda falla nel tema può trasformare quell’installazione in esecuzione di codice sul server.

La misura più importante è aggiornare immediatamente WordPress alla versione corretta per il proprio ramo. È inoltre opportuno controllare temi, plugin, utenti amministrativi e log del server, soprattutto se un amministratore potrebbe aver aperto collegamenti sospetti mentre era autenticato.

Un sito WordPress infetto può mostrare pubblicità indesiderate, reindirizzare i visitatori verso pagine pericolose, inviare spam o sottrarre dati sensibili. In molti casi il responsabile viene chiamato genericamente trojan, anche se tecnicamente può trattarsi di malware, backdoor, web shell o codice JavaScript malevolo.

La sicurezza assoluta non esiste, ma una corretta configurazione può ridurre drasticamente il rischio di compromissione. Vediamo quali sono i principali punti deboli e come proteggere concretamente un sito WordPress.

Come può entrare un trojan in WordPress?

Il codice malevolo non compare da solo: viene normalmente introdotto sfruttando una vulnerabilità, delle credenziali rubate oppure un componente proveniente da una fonte non affidabile.

Plugin, temi e WordPress non aggiornati

Plugin e temi vulnerabili rappresentano uno dei principali punti d’ingresso. Quando viene pubblicata una correzione di sicurezza, i criminali informatici possono cercare automaticamente i siti che utilizzano ancora la versione vulnerabile.

Aggiorna regolarmente:

  • WordPress;
  • plugin attivi;
  • tema principale e tema child;
  • versione PHP e software del server.

Prima di un aggiornamento importante esegui sempre un backup e, se possibile, verifica le modifiche in un ambiente di staging.

Plugin e temi pirata o “nulled”

Un’estensione premium scaricata gratuitamente da un sito non ufficiale può contenere backdoor già inserite nel codice. Il componente può sembrare perfettamente funzionante, mentre in background crea utenti amministratori, invia informazioni all’esterno o consente l’accesso remoto.

Scarica temi e plugin esclusivamente dal repository ufficiale di WordPress o direttamente dal produttore. Un risparmio apparente può trasformarsi in una costosa operazione di bonifica.

Password deboli o riutilizzate

Una password già impiegata su altri servizi può essere scoperta in seguito a una violazione esterna. Gli aggressori provano automaticamente le credenziali rubate su WordPress, pannello hosting, database, caselle email e accessi FTP.

Utilizza password lunghe e uniche, generate con un password manager. Attiva inoltre l’autenticazione a due fattori per amministratori, collaboratori e account dell’hosting.

Computer dell’amministratore infetto

Proteggere WordPress non basta se il computer utilizzato per amministrarlo contiene un keylogger o un altro malware. Le credenziali possono essere intercettate durante l’accesso al sito, al pannello di controllo o al server.

Mantieni aggiornati sistema operativo e browser, utilizza una protezione antimalware affidabile ed evita di salvare password su dispositivi condivisi o non controllati.

Accessi FTP non protetti

Il vecchio protocollo FTP può trasmettere le credenziali senza una protezione adeguata. Quando l’hosting lo permette, usa SFTP oppure SSH, elimina gli account inutilizzati e assegna a ogni collaboratore credenziali personali.

Hosting vulnerabile o configurato male

Un server con software obsoleto, account non isolati o permessi troppo permissivi può favorire la propagazione dell’infezione. Su alcuni hosting condivisi, la compromissione di un sito può mettere a rischio anche altre installazioni appartenenti allo stesso account.

Scegli un provider che offra aggiornamenti del server, isolamento degli account, backup recuperabili, scansione malware, registri degli accessi e assistenza in caso di incidente.

Dieci misure per proteggere WordPress

1. Aggiorna ogni componente

Installa rapidamente gli aggiornamenti di sicurezza. Elimina completamente plugin e temi inutilizzati: disattivarli non rimuove dal server i relativi file vulnerabili.

2. Attiva l’autenticazione a due fattori

La verifica in due passaggi impedisce l’accesso con la sola password. Applicala almeno agli amministratori e agli account che possono installare plugin, modificare file o gestire gli utenti.

3. Limita i privilegi degli utenti

Non assegnare il ruolo di amministratore a chi deve solamente scrivere articoli. Ogni utente dovrebbe disporre esclusivamente dei permessi necessari al proprio lavoro. Controlla periodicamente gli account ed elimina quelli non più utilizzati.

4. Installa un firewall applicativo

Un WAF può bloccare molte richieste sospette prima che raggiungano WordPress. Una protezione a livello DNS o server, come quella configurabile tramite Cloudflare o dal provider, riduce il traffico malevolo e i tentativi automatizzati.

5. Impedisci la modifica dei file dalla dashboard

Se un aggressore ottiene l’accesso amministrativo, l’editor interno può consentirgli di modificare tema e plugin. È possibile disabilitarlo aggiungendo nel file wp-config.php:

define( 'DISALLOW_FILE_EDIT', true );

Questa misura non sostituisce le altre protezioni, ma limita una possibile strada per l’inserimento di codice.

6. Controlla i permessi di file e cartelle

Evita permessi globalmente scrivibili come 777. Come impostazione generale, WordPress indica frequentemente 755 per le directory e 644 per i file, ma la configurazione corretta deve essere verificata in base al server e alla proprietà dei file.

7. Proteggi wp-config.php e il database

Il file wp-config.php contiene informazioni sensibili e deve essere leggibile soltanto dagli utenti necessari. Ogni sito dovrebbe inoltre utilizzare credenziali del database dedicate, soprattutto quando sullo stesso hosting sono presenti più installazioni.

8. Crea backup esterni e verificati

Conserva copie complete di file e database fuori dal server principale. Mantieni più versioni storiche: il backup più recente potrebbe contenere già l’infezione. Esegui periodicamente una prova di ripristino, perché un backup mai verificato non offre una garanzia reale.

9. Monitora file, utenti e registri

Configura notifiche per la creazione di amministratori, l’installazione di estensioni e le modifiche ai file PHP. Conserva i log degli accessi e del server: sono fondamentali per ricostruire l’origine di un eventuale incidente.

10. Proteggi l’accesso con HTTPS

Forza HTTPS su tutto il sito, non soltanto sulle pagine pubbliche. Il certificato protegge le informazioni durante il trasferimento, ma non elimina malware già presenti e non sostituisce aggiornamenti, firewall o password sicure.

Segnali che possono indicare un’infezione

  • reindirizzamenti verso siti sconosciuti;
  • pagine o annunci pubblicitari mai inseriti;
  • nuovi amministratori non riconosciuti;
  • file PHP comparsi recentemente in cartelle insolite;
  • modifiche inattese a .htaccess o wp-config.php;
  • email di spam inviate dal server;
  • improvvisi rallentamenti o consumo anomalo delle risorse;
  • avvisi di sicurezza del browser, dell’hosting o di Google Search Console.

Cosa fare se WordPress è già stato infettato

Se sospetti un’infezione, evita di cancellare file casualmente: potresti rendere il sito inutilizzabile senza eliminare la backdoor principale.

  1. Metti temporaneamente il sito in manutenzione o limita l’accesso.
  2. Crea una copia di file, database e log per l’analisi.
  3. Contatta l’hosting e verifica se sono stati compromessi altri siti dello stesso account.
  4. Cambia le password da un dispositivo sicuramente pulito.
  5. Revoca sessioni, token, chiavi API e password applicative.
  6. Controlla amministratori, attività pianificate e account FTP o SSH.
  7. Sostituisci il core di WordPress con una copia ufficiale pulita.
  8. Reinstalla temi e plugin prelevandoli dalle fonti ufficiali.
  9. Analizza attentamente la cartella degli upload, il database e i file personalizzati.
  10. Individua il punto d’ingresso prima di rimettere online il sito.

Ripristinare soltanto la homepage o eliminare il file segnalato da uno scanner spesso non è sufficiente. Se rimane una backdoor nascosta, il sito può essere infettato nuovamente dopo poche ore.

La sicurezza di WordPress richiede continuità

Proteggere WordPress non significa installare un plugin e dimenticarsene. Occorre combinare aggiornamenti, credenziali sicure, autenticazione a due fattori, firewall, permessi corretti, monitoraggio e backup esterni.

La strategia migliore è ridurre i punti di ingresso e preparare in anticipo una procedura di ripristino. In questo modo diminuiscono sia la probabilità di un attacco sia il tempo necessario per tornare online dopo un incidente.