PHP2Shell: cosa sappiamo delle due falle critiche di PHP che hanno messo in allarme il web
PHP2Shell è il nome con cui ricercatori e testate di settore indicano due vulnerabilità critiche scoperte nel motore di PHP, il linguaggio di programmazione lato server su cui funzionano WordPress, WooCommerce, Joomla, Drupal, Magento e una grandissima parte dei siti web nel mondo. Le due falle sono registrate come CVE-2026-109618 e CVE-2026-109619, hanno entrambe un punteggio di gravità di 9.2 su 10 (scala CVSS v4.0) e sono state corrette dal PHP Security Team il 21 ottobre 2026. Una precisazione utile fin da subito: PHP2Shell riguarda i server che ospitano i siti, non i computer, i tablet o gli smartphone di chi naviga.
Articolo aggiornato al 23 ottobre 2026. La situazione è in evoluzione: per i dettagli tecnici fa sempre fede l'avviso ufficiale del progetto PHP.
In questo articolo
Cos'è PHP2Shell
PHP2Shell è una coppia di vulnerabilità che permette a un attaccante di eseguire codice da remoto (in gergo RCE, Remote Code Execution) su un server web che usa PHP, senza bisogno di credenziali e senza alcuna interazione da parte dell'amministratore. Il nome non viene dal progetto PHP: è stato attribuito informalmente dai ricercatori e si è imposto rapidamente nei bollettini di sicurezza.
Le due falle hanno un'origine comune nella gestione della memoria del motore PHP:
- CVE-2026-109618: un errore di memoria esaurita (out-of-memory) può interrompere PHP mentre i dati di una richiesta sono configurati solo in parte; la fase di pulizia successiva li tratta poi come validi, aprendo la strada alla corruzione della memoria.
- CVE-2026-109619: un problema di tipo use-after-free, in cui uno stato interno legato a una richiesta sopravvive dopo che la memoria che lo conteneva è stata liberata. Secondo l'avviso ufficiale può portare sia alla lettura di dati in memoria sia all'esecuzione di codice.
Il punto chiave è che il difetto si trova nel motore di PHP, non in un'applicazione specifica. Come ha sintetizzato The Hacker News nella sua ricostruzione, un sito è esposto anche quando il suo codice è scritto in modo impeccabile.
Cosa è successo: la cronologia di PHP2Shell
La vicenda PHP2Shell si è svolta in pochi giorni, accelerata da una fuga di notizie che ha fatto saltare l'embargo concordato tra ricercatori e sviluppatori.
| Data | Evento |
|---|---|
| Agosto 2026 | Scoperta delle vulnerabilità e avvio del lavoro riservato sulla correzione. |
| 17 ottobre 2026 | Amazon Threat Intelligence rileva, a posteriori, un primo tentativo di sfruttamento: quattro giorni prima della divulgazione pubblica. |
| 20 ottobre 2026 | Le informazioni trapelano su Hacker News. In serata il PHP Security Team annuncia un rilascio di sicurezza straordinario e lo anticipa dal 22 al 21 ottobre. CERT-EU invita a prepararsi a un aggiornamento urgente. |
| 21 ottobre 2026, mattina | Enti pubblici, università e testate di Paesi Bassi, Finlandia e Austria mettono offline siti e servizi per precauzione. Cloudflare distribuisce regole di protezione sulla propria rete. |
| 21 ottobre 2026, 13:34 UTC | Pubblicazione degli avvisi tecnici e delle versioni corrette, 8.5.12, 8.4.27, 8.3.36 e 8.2.35 (le 15:34 in Italia). |
| 21 ottobre 2026, pomeriggio | La società di sicurezza watchTowr segnala tentativi di sfruttamento attivi tramite la propria rete di honeypot. |
Secondo la ricostruzione di Punto Informatico, anche CERT-AGID ha rilanciato l'avviso nel pomeriggio del 21 ottobre, mentre in rete cominciavano a circolare diversi proof-of-concept che dichiaravano di sfruttare le falle.
PHP2Shell in cinque giorni: dal primo tentativo di sfruttamento alla correzione ufficiale.
Perché PHP2Shell è così grave
PHP2Shell combina tre caratteristiche che, insieme, spiegano l'allarme di questi giorni.
1. Non serve alcun accesso
L'attacco non richiede password né account. Secondo l'avviso ufficiale, su Apache con il modulo mod_php, la configurazione indicata come più a rischio, è stato dimostrato un exploit in cui una singola richiesta non autenticata fa scattare l'attacco prima ancora che il codice del sito venga eseguito.
2. Colpisce tutte le configurazioni web di PHP
Sono interessate tutte le installazioni PHP che rispondono a richieste web: PHP-FPM, Apache mod_php, php-cgi, FrankenPHP e LiteSpeed. Il primo percorso vulnerabile risale a PHP 5.4, quindi a oltre dieci anni fa. Alcune stime citate dalla stampa di settore parlano di circa il 70% dei siti e delle applicazioni web esposte a Internet basate su PHP: è un ordine di grandezza, non un dato misurato.
3. Le conseguenze di un attacco riuscito
Un attaccante che sfrutta PHP2Shell può eseguire codice con i permessi del processo PHP. In pratica può rubare dati dell'applicazione, modificare i contenuti del sito o installare una backdoor, come spiega Malwarebytes nella sua analisi in italiano. Può anche leggere dalla memoria del server informazioni sensibili appartenenti ad altre richieste, come password, token e chiavi di accesso.
Non a caso il ricercatore Kevin Beaumont, citato da Help Net Security, l'ha definita una delle vulnerabilità più gravi da anni.
Quali versioni di PHP sono colpite e quali la correggono
Le versioni di PHP che correggono PHP2Shell sono quattro, una per ciascun ramo ancora supportato. Tutte le versioni precedenti sono vulnerabili.
| Ramo PHP | Prima versione corretta | Note |
|---|---|---|
| PHP 8.5 | 8.5.12 | Supporto attivo |
| PHP 8.4 | 8.4.27 | Supportato |
| PHP 8.3 | 8.3.36 | Solo aggiornamenti di sicurezza |
| PHP 8.2 | 8.2.35 | Fine vita il 31 dicembre 2026 |
| PHP 7.4, 8.0, 8.1 | Nessuna versione ufficiale | Fuori supporto: il team PHP ha pubblicato solo correzioni minime in forma di codice sorgente |
| PHP 7.3 e precedenti | Nessuna correzione | Occorre migrare a una versione supportata |
Un dettaglio che confonde molti amministratori: le distribuzioni Linux spesso applicano la correzione senza cambiare il numero di versione principale. Un server Ubuntu aggiornato può quindi continuare a mostrare, per esempio, "PHP 8.3.6": quello che cambia è la revisione del pacchetto. Per verificare bisogna consultare il bollettino del proprio fornitore.
Esistono anche misure temporanee, come disattivare l'impostazione session.upload_progress.enabled e riavviare i processi PHP, ma lo stesso progetto PHP chiarisce che riducono il rischio senza eliminarlo. Come riporta BleepingComputer, l'unica difesa definitiva è l'aggiornamento.
La correzione di PHP2Shell si applica sul server: va installata e seguita da un riavvio dei processi PHP.
Ho un sito WordPress o WooCommerce: cosa devo fare?
Aggiornare WordPress, il tema o i plugin non corregge PHP2Shell. È il punto su cui insistono tutti i bollettini: la vulnerabilità si trova "sotto" WordPress, nel motore PHP che lo fa funzionare. La correzione deve arrivare da chi gestisce il server.
In concreto, chi ha un sito su PHP dovrebbe:
- Capire chi gestisce PHP. Se il sito è su un hosting condiviso, è quasi sempre il provider. Se c'è un'agenzia o un tecnico di fiducia, va chiarito chi ha accesso al server e chi può autorizzare un intervento urgente.
- Controllare la versione di PHP. In WordPress si trova in Strumenti → Salute del sito → Info → Server. In alternativa, la mostra il pannello dell'hosting.
- Chiedere conferma scritta al provider. Non basta sapere che l'aggiornamento è "previsto": bisogna sapere che è stato installato e che i processi PHP sono stati riavviati.
- Se si usa una versione fuori supporto (PHP 8.1 o precedente), pianificare la migrazione a una versione supportata. Secondo i dati di monitoraggio citati dalla stampa, alla vigilia della patch circa un sito WordPress o Joomla su cinque girava ancora su PHP 8.1 o versioni più vecchie.
- Gestire i propri server? Applicare subito l'aggiornamento, riavviare Apache, PHP-FPM e ogni processo PHP di lunga durata, e ricostruire le eventuali immagini dei container.
Diversi provider si sono mossi in modo proattivo, applicando le mitigazioni già la sera del 20 ottobre e gli aggiornamenti nei giorni successivi. Vale comunque la pena controllare la pagina di stato o di supporto del proprio hosting.
E chi naviga soltanto?
Per chi usa Internet senza gestire un sito, PHP2Shell non richiede di installare nulla: la vulnerabilità non riguarda Windows, macOS, Android, iOS né i browser. Gli effetti visibili possono essere due:
- siti temporaneamente offline o in manutenzione, come è successo a diversi portali pubblici europei il 21 ottobre, spenti per prudenza in attesa della correzione;
- un rischio indiretto: un sito compromesso e non ancora aggiornato potrebbe essere modificato per ospitare pagine fraudolente. In questi giorni è bene fare un po' più di attenzione a richieste insolite di dati, pagamenti o download, anche su siti che si conoscono bene.
Il ruolo dell'intelligenza artificiale
La storia di PHP2Shell ha anche un risvolto che farà discutere a lungo. Le falle sono state individuate da Wiz Research, Calif e dal team Codex Security di OpenAI, che hanno lavorato con il PHP Security Team e con il team Gemini di Google alla correzione.
Secondo la PHP Foundation, un primo indizio del problema di memoria alla base di CVE-2026-109618 era già emerso durante un audit esterno di PHP nel 2024, ma all'epoca non era stato trovato un modo concreto per arrivare all'esecuzione di codice. Analisi più recenti, condotte anche con strumenti di intelligenza artificiale, hanno trasformato quel punto debole teorico in un attacco funzionante.
È un segnale di come l'IA stia accorciando i tempi in entrambe le direzioni: aiuta a scoprire le falle prima, ma riduce anche il margine tra la divulgazione di una vulnerabilità e il suo sfruttamento. Per approfondire il quadro tecnico, in italiano, è utile l'analisi di Cybersecurity360; per una sintesi in inglese costantemente aggiornata c'è la voce di Wikipedia dedicata a PHP2Shell.
PHP2Shell è stata resa sfruttabile grazie ad analisi del codice condotte anche con l'intelligenza artificiale.
Domande frequenti su PHP2Shell
Cos'è PHP2Shell?
PHP2Shell è il nome informale di due vulnerabilità critiche nel motore del linguaggio PHP, registrate come CVE-2026-109618 e CVE-2026-109619 e valutate entrambe 9.2 su 10 nella scala CVSS v4.0. Le due falle permettono a un attaccante di eseguire codice da remoto su un server web che usa PHP, senza credenziali e senza alcuna azione da parte dell'amministratore. Riguardano le versioni di PHP dalla 5.4 alla 8.5 e tutte le configurazioni che rispondono a richieste web, tra cui PHP-FPM, Apache mod_php, php-cgi, FrankenPHP e LiteSpeed. Il progetto PHP ha rilasciato le correzioni il 21 ottobre 2026.
Aggiornare WordPress protegge da PHP2Shell?
No, aggiornare WordPress, il tema o i plugin non protegge da PHP2Shell. Le vulnerabilità CVE-2026-109618 e CVE-2026-109619 si trovano nel motore PHP che fa funzionare WordPress, WooCommerce, Joomla e Drupal, quindi a un livello inferiore rispetto al CMS. La correzione deve essere installata sul server da chi lo gestisce: nella maggior parte dei casi il provider di hosting, oppure l'agenzia o il tecnico che amministra il sito. Dopo l'aggiornamento i processi PHP vanno riavviati. Chi ha un sito su hosting condiviso dovrebbe chiedere al provider una conferma che la patch sia stata installata, non soltanto programmata.
Quali versioni di PHP correggono PHP2Shell?
Le versioni di PHP che correggono PHP2Shell sono quattro: PHP 8.5.12, PHP 8.4.27, PHP 8.3.36 e PHP 8.2.35, tutte pubblicate il 21 ottobre 2026. Ogni versione precedente all'interno di questi rami è vulnerabile. PHP 8.1, 8.0 e 7.4 sono fuori supporto e non hanno ricevuto versioni ufficiali: il PHP Security Team ha pubblicato solo correzioni minime in forma di codice sorgente, utili a chi compila PHP in autonomia. Per PHP 7.3 e versioni più vecchie non esiste correzione e serve migrare. Va ricordato che PHP 8.2 raggiunge la fine del supporto il 31 dicembre 2026.
Devo fare qualcosa sul mio PC o sul mio smartphone per PHP2Shell?
No, PHP2Shell non richiede interventi su computer, tablet o smartphone di chi naviga. Le vulnerabilità CVE-2026-109618 e CVE-2026-109619 riguardano i server web che usano PHP, non Windows, macOS, Android, iOS o i browser. Chi usa Internet senza gestire un sito può notare al massimo alcuni siti temporaneamente offline o in manutenzione, come è accaduto il 21 ottobre 2026 a diversi portali pubblici di Paesi Bassi, Finlandia e Austria. Resta valido il consiglio generale di prudenza: un sito non aggiornato potrebbe essere compromesso, quindi è bene diffidare di richieste insolite di dati personali, pagamenti o download.
Le mitigazioni temporanee bastano contro PHP2Shell?
No, le mitigazioni temporanee riducono il rischio di PHP2Shell ma non lo eliminano. Il progetto PHP ha indicato alcune misure per chi non può aggiornare subito: disattivare l'impostazione session.upload_progress.enabled, impostare fatal_error_backtraces=0 su PHP 8.5 e riavviare tutti i processi PHP. Anche le regole dei firewall applicativi, come quelle distribuite da Cloudflare il 21 ottobre 2026, offrono una protezione parziale. Lo stesso PHP Security Team ha chiarito che l'unica difesa completa è installare una versione corretta, cioè 8.5.12, 8.4.27, 8.3.36 o 8.2.35, oppure il pacchetto aggiornato fornito dalla propria distribuzione Linux.
Come verifico la versione di PHP del mio sito?
La versione di PHP di un sito WordPress si verifica dal pannello di amministrazione, nel menu Strumenti, sezione Salute del sito, scheda Info, voce Server. In alternativa la mostra il pannello di controllo del provider di hosting, per esempio cPanel o Plesk. Il numero di versione da solo può però ingannare: molte distribuzioni Linux applicano la correzione di PHP2Shell senza cambiare il numero principale, per cui un server aggiornato può ancora mostrare una versione come 8.3.6. Il modo più affidabile è chiedere al provider o all'amministratore del server una conferma esplicita che la correzione sia stata installata e i processi PHP riavviati.





