Che cosa è PHP2Shell
PHP2Shell è il nome attribuito a due vulnerabilità del core PHP, tracciate come CVE-2026-109618 e CVE-2026-109619. Entrambe sono classificate come vulnerabilità di Remote Code Execution (RCE) e hanno un punteggio CVSS v4.0 pari a 9.2, quindi critiche.
La prima riguarda la gestione degli errori di esaurimento della memoria (out-of-memory): se l’errore interrompe PHP mentre i dati della richiesta sono solo parzialmente inizializzati, le routine di pulizia possono trattare dati non validi come legittimi.
La seconda coinvolge uno stato globale obsoleto: PHP manterrebbe riferimenti a dati di richiesta dopo la liberazione della memoria associata. Una richiesta successiva gestita dallo stesso worker potrebbe accedere a quei riferimenti prima che vengano reinizializzati, aprendo la strada a un uso dopo la liberazione della memoria (use-after-free).
Le vulnerabilità interessano versioni di PHP risalenti fino alla 5.4, ma le correzioni ufficiali sono state rilasciate per i rami attualmente supportati.
PHP 8.5 PHP 8.4 PHP 8.3 PHP 8.2
Versione corretta: 8.5.12 8.4.27 8.3.36 8.2.35
Le versioni più datate, in particolare PHP 7.4 e precedenti, non ricevono più patch di sicurezza: per questi ambienti la soluzione non è un semplice aggiornamento, ma la migrazione a un ramo supportato.
Rischi per server e siti web
Un exploit riuscito può consentire a un attaccante non autenticato di eseguire codice arbitrario sul server web. Questo può tradursi nell’installazione di web shell, creazione di utenti amministrativi non autorizzati, modifica di file PHP, esfiltrazione di dati o compromissione dell’intera infrastruttura.
Le falle possono inoltre essere sfruttate per leggere memoria sensibile del processo, che potrebbe contenere credenziali, chiavi API e altri segreti, oppure per provocare un denial of service.
Il vettore è particolarmente rilevante per chi gestisce WordPress, Drupal, Joomla, Laravel, Symfony, pannelli di controllo, e-commerce o API PHP esposte su Internet. La vulnerabilità CVE-2026-109619 è associata all’elaborazione delle richieste multipart/form-data, comunemente usate per gli upload di file; CVE-2026-109618 riguarda invece il meccanismo session.upload_progress.
Cosa fare subito
-
Verificare la versione PHP in uso su ogni server, container e ambiente di staging.
-
Aggiornare immediatamente a 8.5.12, 8.4.27, 8.3.36 oppure 8.2.35, secondo il ramo utilizzato.
-
Riavviare PHP-FPM, Apache o il servizio web dopo l’aggiornamento, per assicurarsi che i worker non conservino stato vulnerabile in memoria.
-
Controllare i log di accesso e degli errori, cercando richieste anomale, POST sospetti, errori di memoria o attività inusuale.
-
Ispezionare il filesystem alla ricerca di file PHP inattesi, web shell, file modificati di recente e nuovi account amministrativi.
-
Monitorare le connessioni in uscita, soprattutto verso IP o domini sconosciuti.
-
Limitare l’esposizione: WAF, restrizioni sugli upload, autenticazione forte e segmentazione della rete riducono la superficie di attacco, ma non sostituiscono la patch.
-
-
Per un server Debian/Ubuntu con PHP-FPM, dopo l’aggiornamento dei pacchetti è opportuno riavviare il servizio:
bash
sudo apt update && sudo apt upgrade
sudo systemctl restart php8.2-fpm
# oppure, in base alla versione installata:
sudo systemctl restart php8.3-fpm
sudo systemctl restart php8.4-fpm
#PHP2Shell #CVE2026109618 #CVE2026109619 #PHP #SicurezzaInformatica #CyberSecurity #RCE #ServerAdmin #Linux #WebSecurity