Il tuo sito WordPress va giù alle tre di notte. Oppure peggio: non va giù, ma qualcuno ci sta entrando da mesi. Nella nostra esperienza, nella maggior parte dei casi il colpevole non è il core di WordPress — è un plugin. Un componente aggiuntivo dimenticato, mai aggiornato, con una vulnerabilità pubblica. Questo è il problema concreto che affrontiamo in questa guida: come monitorare le CVE dei plugin e applicare gli aggiornamenti critici prima che qualcuno li sfrutti contro di te.
Perché un plugin vulnerabile è una minaccia concreta per WordPress?
I plugin rappresentano oltre il 90% delle vulnerabilità segnalate per WordPress. Il motivo è semplice: il core è mantenuto da un team ristretto e testato da migliaia di sviluppatori. I plugin, invece, sono scritti da chiunque — da aziende strutturate a singoli sviluppatori che non aggiornano più il codice da anni.
Un attaccante non deve indovinare nulla. Le CVE sono pubbliche. Esistono database aperti dove chiunque può cercare "plugin + versione + vulnerabilità" e trovare exploit già pronti. Un plugin con una CVE nota è una porta aperta con l'indirizzo scritto sopra.
Lo vediamo spesso nei progetti che ci arrivano: installazioni con 40 plugin, di cui 15 mai aggiornati. Il sito funziona, le pagine caricano, nessun problema visibile. Ma basta una scansione automatica per trovare la falla. E i bot che scansionano la rete in continuazione la trovano prima di te.
Il costo di un incidente è sempre superiore al costo della prevenzione. Un sito compromesso significa: pulizia (centinaia o migliaia di euro), downtime, perdita di fiducia da parte di clienti e Google. Un plugin aggiornato, invece, costa zero.
Errori comuni che aumentano il rischio
Il primo errore è installare plugin abbandonati. Se l'ultimo aggiornamento risale a due anni fa, quella è una vulnerabilità in attesa di essere scoperta. Il secondo errore è fare aggiornamenti "a caso": aggiorni quando ti ricordi, non quando esce una patch di sicurezza. Il terzo errore è non avere un inventario: se non sai quali plugin hai installato, non puoi sapere quali sono a rischio.
Sponsored Protocol
Un plugin vulnerabile è un debito tecnico che si ripaga da solo, con gli interessi.
Come funzionano le CVE applicate ai plugin WordPress?
Una CVE (Common Vulnerabilities and Exposures) è un identificativo pubblico per una vulnerabilità di sicurezza. Ogni CVE ha un punteggio CVSS che indica la gravità: da 0 a 10, dove 10 è critico. Per i plugin WordPress, le CVE vengono assegnate da organizzazioni come WPScan (di Automattic) e MITRE, e poi pubblicate nel database NIST NVD.
Il flusso è quasi sempre lo stesso: un ricercatore trova una falla, la segnala, viene assegnata una CVE, e il team del plugin pubblica una versione corretta. Il problema è il tempo che passa tra la divulgazione della CVE e l'applicazione dell'aggiornamento sul tuo sito. In quel lasso di tempo sei esposto — e gli attaccanti lo sanno.
Perché il punteggio CVSS non basta
Il punteggio CVSS ti dice quanto è grave la vulnerabilità, ma non ti dice quanto è probabile che venga sfruttata. Una vulnerabilità con punteggio 5.0 in un plugin di backup che non usi è meno urgente di una con punteggio 7.5 in un plugin di contatto esposto su ogni pagina del sito. La priorità dipende dal contesto: quale plugin è, dove viene usato, quali dati gestisce.
Da qui la nostra regola interna: nessun plugin con una CVE pubblica e sfruttabile resta attivo oltre 48 ore. Se la patch non esiste, il plugin va disattivato o rimosso.
Quali strumenti usare per monitorare le vulnerabilità dei plugin?
Il monitoraggio manuale è una trappola. Nessuno controlla ogni giorno il database CVE per decine di plugin. Serve automazione. Ecco gli strumenti che usiamo noi, in ordine di rapporto valore/sforzo.
Sponsored Protocol
WPScan: lo scanner di riferimento
WPScan è lo scanner ufficiale di Automattic. Scansiona il tuo sito e confronta i plugin installati con il database delle vulnerabilità di WPScan. Funziona da riga di comando e si integra perfettamente in script di automazione.
Esempio base, senza API key:
# Scansione di base con WPScan
wpscan --url https://tuosito.it --api-token IL_TUO_TOKEN
Il risultato mostra i plugin rilevati e le vulnerabilità associate. Con l'API token (versione gratuita per siti personali) hai accesso al database completo delle CVE.
Altro strumento che usiamo: Patchstack. È un servizio che fornisce un firewall per applicazioni web e un database delle vulnerabilità. La versione gratuita permette di ricevere notifiche via email quando un plugin installato ha una vulnerabilità. La versione a pagamento aggiunge il virtual patching — blocca gli exploit anche quando il plugin non è ancora stato corretto.
Come automatizzare i controlli su server Linux
Sui server che gestiamo, aggiungiamo un cron job che lancia WPScan ogni notte e invia un report via email. Ecco uno script minimale che puoi adattare al tuo ambiente:
#!/bin/bash
# Script di monitoraggio vulnerabilità plugin WordPress
# Da eseguire con cron: 0 3 * * * /usr/local/bin/wp-plugin-scan.sh
SITI=("https://esempio1.it" "https://esempio2.it")
TOKEN="IL_TUO_TOKEN_WPSCAN"
EMAIL="admin@esempio.it"
for SITO in "${SITI[@]}"; do
REPORT=$(wpscan --url "$SITO" --api-token "$TOKEN" --format cli 2>/dev/null)
echo "$REPORT" | mail -s "Rapporto vulnerabilità: $SITO" "$EMAIL"
done
Lo script scansiona ogni sito e invia il risultato via email. Il giorno in cui il report non contiene vulnerabilità, lo ignori. Il giorno in cui ne contiene una, intervieni.
Sponsored Protocol
Come gestire gli aggiornamenti critici senza rompere il sito?
Aggiornare un plugin può sembrare semplice, ma un aggiornamento mal gestito può rompere il sito o generare conflitti. La paura di rompere il sito è il motivo principale per cui molti non aggiornano. E quel timore è comprensibile — ma la soluzione non è non aggiornare. È aggiornare con un processo.
Prima dell'aggiornamento: backup e staging
Regola numero uno: nessun aggiornamento senza backup. Prima di aggiornare un plugin critico, fai un backup completo di file e database. Con uno strumento come UpdraftPlus o dalla riga di comando con wp-cli:
# Backup del database via wp-cli
wp db export backup-presso-aggiornamento.sql
# Backup dei file via tar
tar -czf backup-file.tar.gz wp-content/
Se l'ambiente di staging esiste, aggiorna lì prima. Controlla che il sito funzioni — pagine, modulo di contatto, checkout se hai un e-commerce. Poi aggiorna in produzione.
Aggiornamento manuale vs automatico
Gli aggiornamenti automatici di WordPress funzionano, ma solo per i plugin nel repository ufficiale. I plugin premium (temi e plugin commerciali) richiedono aggiornamento manuale o un sistema di licenze. Il nostro consiglio: attiva gli aggiornamenti automatici per i plugin minori e gestisci manualmente i plugin critici — quelli che gestiscono pagamenti o dati sensibili.
Per attivare gli aggiornamenti automatici da wp-cli:
# Attiva aggiornamenti automatici per un plugin specifico
wp plugin auto-updates enable nome-plugin
# Attiva aggiornamenti automatici per tutti i plugin
wp plugin auto-updates enable --all
Ma attenzione: con i plugin critici, noi preferiamo aggiornare manualmente subito dopo aver verificato la compatibilità. Il processo è: leggi il changelog della nuova versione — se contiene "security fix", l'aggiornamento è prioritario assoluto.
Sponsored Protocol
Il caso limite: plugin vulnerabile senza patch disponibile
Succede più spesso di quanto pensi. Un plugin ha una CVE pubblica, ma lo sviluppatore non ha rilasciato una versione corretta — o ha abbandonato il progetto. In quel caso la scelta è netta: se il plugin non è essenziale, disinstallalo. Se è essenziale, cerca un'alternativa attivamente mantenuta. Tenere un plugin vulnerabile perché "ci serve" è una scommessa persa.
Quali sono i segnali che indicano un plugin a rischio?
Non tutte le vulnerabilità sono già state scoperte. Ci sono plugin che sembrano sicuri ma sono bombe a orologeria. Riconoscere i segnali di rischio è una competenza che si costruisce con l'esperienza. Noi guardiamo sempre a questi quattro indicatori:
Data dell'ultimo aggiornamento: se supera i 12 mesi, il plugin è a rischio di abbandono. Numero di installazioni attive: un plugin con 100 installazioni è un target più facile di uno con 1 milione. Reputazione dello sviluppatore: cerca il nome dell'autore, la sua storia, se risponde alle segnalazioni. Compatibilità dichiarata con la versione di WordPress: se il plugin non dichiara compatibilità con le ultime versioni del core, è un campanello d'allarme.
La verità scomoda: il plugin più pericoloso non è quello con la CVE pubblicata. È quello che non viene più mantenuto e che non lo sa nessuno.
Come rispondere quando scopri una vulnerabilità attiva?
Hai ricevuto l'avviso: un plugin installato ha una CVE critica. Cosa fai nei minuti successivi? Segui questo schema, che usiamo anche noi quando lavoriamo sui progetti dei clienti.
Primo: verifica se esiste una versione aggiornata del plugin. Se esiste, aggiorna subito seguendo il processo che abbiamo descritto — backup, aggiornamento, test. Secondo: se la patch non esiste, valuta l'esposizione. Il plugin è attivo? Su quali pagine? Gestisce dati sensibili? Se la risposta è "sì" a una di queste domande, disattivalo temporaneamente. Terzo: monitora i log di accesso e sicurezza. Cerca tentativi di accesso anomali, modifiche a file sospette, nuovi utenti amministratori. Un attaccante che ha sfruttato la vulnerabilità lascia sempre tracce.
Sponsored Protocol
Se il sito è già compromesso, non improvvisare. Disconnetti il sito da internet (puoi mettere una pagina di manutenzione a livello server), esegui una scansione completa con un tool come Wordfence, e valuta di ripristinare da un backup pulito precedente alla compromissione.
In sintesi
Le vulnerabilità dei plugin sono la minaccia numero uno per WordPress. Ma sono anche la più facile da neutralizzare, se hai un processo. Ecco le azioni immediate da fare adesso:
1. Fai un inventario di tutti i plugin installati e delle loro versioni. Usa la pagina Plugin di WordPress o da terminale: wp plugin list.
2. Rimuovi i plugin non utilizzati. Ogni plugin inattivo è una superficie d'attacco inutile.
3. Configura un monitoraggio automatico delle CVE con WPScan o Patchstack. Se gestisci i siti da server Linux, imposta un cron job con lo script che ti abbiamo mostrato.
4. Definisci una procedura per gli aggiornamenti critici: backup, aggiornamento in staging se possibile, verifica, aggiornamento in produzione. Scrivila e seguila ogni volta.
5. Controlla le date degli ultimi aggiornamenti dei plugin. Tutto ciò che è fermo da oltre 12 mesi va sostituito o rimosso.
Se il sito WordPress è il cuore della tua attività, la sicurezza dei plugin non è un'opzione. È la tua responsabilità — e se non hai tempo o competenze per gestirla, è esattamente il tipo di lavoro per cui esistono professionisti. Noi lavoriamo su questo ogni giorno. Se vuoi, possiamo darti una mano.