L’Agenzia per la cybersicurezza nazionale ha lanciato un alert nazionale che indica come l’81,9% dei servizi PHP rilevati nel Paese sia potenzialmente esposto alla nuova vulnerabilità PHP2Shell. L’analisi proviene dal Csirt Italia, che ha monitorato più di 741.523 istanze PHP, individuando 285.149 versioni vulnerabili. Si tratta di una situazione senza precedenti per il panorama digitale italiano, dato che PHP alimenta la gran parte dei siti web a livello globale.
Le due falle critiche dietro PHP2Shell
Le vulnerabilità, identificate con i codici CVE-2026-109618 e CVE-2026-109619, sono classificate come gravità critica con un punteggio CVSS v4.0 di 9,2. Entrambe sono di tipo Use After Free e si verificano durante scenari di out-of-memory. Un attaccante remoto non autenticato può sfruttare richieste HTTP particolarmente costruite (ad esempio multipart) per forzare l’esaurimento della memoria, corrompere strutture interne e infine eseguire codice arbitrario con i privilegi del processo PHP.
Dettagli tecnici delle due CVE
La prima vulnerabilità (CVE-2026-109618) deriva da una gestione impropria della funzione longjmp() quando PHP interrompe l’elaborazione per mancanza di memoria. Questo lascia strutture interne in uno stato incoerente, aprendo la porta a manipolazioni di memoria.
La seconda (CVE-2026-109619) riguarda il mantenimento di riferimenti a memoria già liberata in situazioni di timeout o errori critici, specialmente durante il monitoraggio dell’upload di sessione o la generazione di backtrace in PHP 8.5.
Una terza vulnerabilità senza patch al momento
L’agenzia ha inoltre segnalato la CVE-2026-115560, che permette l’esecuzione remota di codice se il parametro session.serialize_handler viene modificato a php prima dell’avvio della sessione e session.upload_progress.enabled rimane attivo. Attualmente non è disponibile una correzione; la mitigazione consigliata è disabilitare tale funzionalità impostando session.upload_progress.enabled=0.
Indicazioni operative per i gestori
Le autorità richiedono interventi immediati, privilegiando i sistemi esposti direttamente su Internet. Le raccomandazioni includono:
- Aggiornare tutti i componenti PHP alle versioni corrette (8.5.12, 8.4.27, 8.3.36, 8.2.35).
- Disabilitare il parametro
session.upload_progress.enabledimpostandolo a 0. - Configurare i Web Application Firewall (WAF) in modalità blocco con regole specifiche per le vulnerabilità in oggetto.
- Se l’aggiornamento non è possibile, considerare la disconnessione temporanea dei servizi vulnerabili.
- Eseguire analisi retrospettive sui log per individuare richieste HTTP anomale, errori di memoria o crash inattesi dei processi PHP.
Infine, è fondamentale verificare la versione di PHP in uso sia a livello di riga di comando (php -v) sia all’interno del web server (ad esempio apachectl -M | grep php per mod_php o ps -eo pid,ppid,args | grep '[p]hp-fpm' per PHP-FPM). Solo così è possibile accertarsi che le correzioni siano realmente operative.
