PHP2Shell: cosa fare per proteggere il tuo sito

Illustrazione: proteggere un server PHP con gli aggiornamenti di sicurezza.
PHP2Shell è il nome dato a due vulnerabilità critiche di PHP, il software lato server su cui si basano molti siti web e sistemi di gestione dei contenuti. Il rischio per la tua attività è serio: un attaccante potrebbe eseguire codice su un server vulnerabile senza effettuare l’accesso.
Questo articolo riflette le indicazioni ufficiali disponibili al 1 novembre 2026. Se il tuo sito usa PHP, contatta subito il tuo provider di hosting, senza aspettare il prossimo intervento di manutenzione ordinaria.
Che cosa è successo?
Il 21 ottobre, il progetto PHP ha pubblicato aggiornamenti di sicurezza per CVE-2026-109618 e CVE-2026-109619. L’avviso riguarda le installazioni che gestiscono richieste web tramite PHP-FPM, Apache con mod_php, php-cgi, FrankenPHP e LiteSpeed. Il team PHP considera mod_php l’ambiente più a rischio, con un attacco dimostrato che può avvenire prima dell’avvio del codice della tua applicazione. Leggi l’annuncio ufficiale di sicurezza di PHP.
Queste vulnerabilità riguardano l’ambiente di esecuzione. Aggiornare il tema o i plugin del tuo sito non aggiorna, di per sé, il software PHP in esecuzione sul tuo account di hosting.
Due diversi problemi di sicurezza della memoria
CVE-2026-109618 riguarda la gestione dell’esaurimento della memoria. PHP può interrompere il lavoro mentre i dati interni di una richiesta sono inizializzati solo in parte. Durante la pulizia della richiesta, quei dati incompleti possono essere usati come se fossero validi, consentendo l’esecuzione di codice da remoto. L’avviso conferma lo sfruttamento contro mod_php; l’esposizione degli altri ambienti dipende dalla gestione delle richieste e dal comportamento dell’applicazione. Leggi l’avviso del progetto PHP sull’esaurimento della memoria.
CVE-2026-109619 riguarda lo stato globale residuo. Un processo worker può conservare riferimenti alla memoria di una richiesta dopo che quella memoria è stata liberata. Una richiesta successiva gestita dallo stesso worker può usare quei riferimenti troppo presto. È un problema di uso della memoria dopo il suo rilascio, detto use-after-free. Lo sfruttamento dipende dalle operazioni, dalla configurazione e dall’applicazione coinvolte, quindi modificare una sola impostazione non elimina tutti i percorsi di attacco. Leggi l’avviso del progetto PHP sullo stato globale residuo.
Quali versioni di PHP contengono le correzioni?
Le versioni di sicurezza del 21 ottobre sono:
- PHP 8.2.35 per il ramo 8.2.
- PHP 8.3.36 per il ramo 8.3.
- PHP 8.4.27 per il ramo 8.4.
- PHP 8.5.12 per il ramo 8.5.
Usa queste versioni o una versione successiva corretta di un ramo ancora supportato. I pacchetti delle distribuzioni possono includere correzioni riportate su versioni precedenti senza avere questi numeri di versione: chiedi al provider di confermare la copertura di entrambe le CVE. I rami più vecchi richiedono una conferma esplicita del fornitore oppure il passaggio a una versione supportata. L’annuncio di PHP spiega le opzioni di aggiornamento.
Un avviso successivo da controllare
Il 23 ottobre, PHP ha pubblicato ulteriori indicazioni sul monitoraggio dell’avanzamento dei caricamenti tramite sessione e su CVE-2026-115560. Descrivono una configurazione insolita che cambia il gestore di serializzazione della sessione durante l’esecuzione. PHP raccomanda di disabilitare session.upload_progress.enabled fino alla prossima versione ordinaria con correzioni, spiegando anche quando l’impostazione può restare attiva. Chiedi al provider di valutare l’avviso sull’avanzamento dei caricamenti in relazione alla tua applicazione.
I tuoi prossimi passi
- Individua tutti gli ambienti PHP. Includi il sito principale, i sottodomini, i siti di prova, i container e le attività pianificate. Un controllo della versione solo da riga di comando potrebbe non rilevare quella che serve il tuo sito.
- Ottieni conferma delle correzioni. Chiedi al tuo host quale pacchetto corregge entrambe le CVE di PHP2Shell, se è stato installato e se tutti i worker PHP sono stati riavviati.
- Controlla il sito dopo l’aggiornamento. Prova l’accesso, i moduli, il caricamento dei file e il completamento degli acquisti, dove presenti.
- Esamina le attività sospette. File inattesi, arresti anomali o modifiche agli account richiedono un’indagine. Installare una correzione non annulla una compromissione precedente.
Le soluzioni temporanee di configurazione possono ridurre specifici percorsi di attacco, ma gli avvisi di PHP chiariscono che non sostituiscono le correzioni complete. Includi gli aggiornamenti dell’ambiente PHP nella manutenzione continua del tuo sito, insieme agli aggiornamenti dell’applicazione e ai backup verificati.