Il 21 ottobre 2026 il team di sviluppo di PHP ha rilasciato aggiornamenti di emergenza per correggere due vulnerabilità critiche. Si chiamano CVE-2026-109618 e CVE-2026-109619, e insieme sono state battezzate PHP2Shell. Hanno entrambe un punteggio di gravità di 9,2 su 10.
PHP è il linguaggio che fa funzionare una parte enorme del web. Si stima che sia dietro quasi il 70% dei siti. Ci girano piattaforme molto diffuse, come WordPress e Magento. Per questo la notizia ha fatto rumore, e diversi enti pubblici hanno messo offline alcuni siti per precauzione.
Il rischio principale si chiama esecuzione di codice da remoto. In pratica, un attaccante può mandare una richiesta costruita ad arte a un server vulnerabile e farsi eseguire dei comandi. Non servono password né account. Immagina di poter far fare ordini al server di un negozio senza avere le chiavi del negozio.
Le due falle nascono da problemi di gestione della memoria. Nella prima, quando PHP finisce la memoria e va in errore, lascia dei dati a metà, e un attaccante può sfruttare quel momento. Nella seconda, dopo un errore grave, PHP continua a puntare a una zona di memoria che è già stata liberata. È come tornare a un indirizzo dove la casa è stata demolita e trovarci dentro altra gente. Quest’ultima può far uscire dati sensibili e, in certi casi, permettere l’esecuzione di codice.
Secondo le informazioni diffuse, il pericolo riguarda tutte le installazioni PHP che rispondono a richieste web. Le agenzie di sicurezza indicano come più a rischio la configurazione con Apache e mod_php, perché lì l’attacco può partire prima ancora che giri il codice del sito.
La scala del problema è grande. Palo Alto Networks ha contato oltre 22 milioni di server esposti che potrebbero essere vulnerabili. Cloudflare ha detto di aver visto tentativi di attacco già prima della pubblicazione ufficiale e di aver attivato regole di protezione sul suo firewall, anche per i clienti del piano gratuito. Va però detto che un tentativo di attacco non significa che sia riuscito. Alcune autorità europee, al momento, parlano di rischio aumentato ma non di attacchi confermati.
C’è poi un altro aspetto, che riguarda da vicino il nostro settore. Le falle sono state trovate da ricercatori di Calif, Wiz e OpenAI, con l’aiuto di un modello di intelligenza artificiale. OpenAI parla di una “finestra per i difensori”: l’IA ha scovato il problema prima degli attaccanti e ha dato tempo per preparare le correzioni. Ma non è stata l’IA da sola. Gli esperti hanno guidato il lavoro, e i manutentori di PHP hanno scritto e pubblicato le patch. Qui l’IA è un acceleratore, non un sostituto.
Cosa bisogna fare? La risposta è una: aggiornare. Le versioni corrette sono PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35. Chi usa una versione precedente alla 8.2 ha un problema in più. PHP 8.1 e le versioni più vecchie non ricevono più aggiornamenti dal progetto, quindi vanno sostituite con una versione supportata.
Per chi gestisce un sito, i passi pratici sono semplici:
- Controllare quale versione di PHP è in uso, o chiederlo al proprio hosting.
- Aggiornare subito, dando priorità ai server visibili da internet.
- Verificare se PHP è presente anche in prodotti di terze parti, come appliance e container.
- Cercare segnali strani, come processi, file, account o connessioni in uscita che nessuno ricorda di aver creato.
Chi ha un sito su hosting condiviso non può aggiornare da solo. Conviene scrivere al fornitore e chiedere conferma che il servizio sia stato aggiornato.
La lezione di PHP2Shell è che una falla in un componente così diffuso non resta un problema tecnico. Diventa un problema di tutti, perché basta un anello debole per mettere in difficoltà milioni di siti. E il tempo tra la scoperta e i primi attacchi, ormai, si misura in ore.
