PHP2Shell, due falle critiche nel motore di PHP: per proteggere un sito va aggiornato PHP, non basta aggiornare WordPress

PHP2Shell, due falle critiche nel motore di PHP: per proteggere un sito va aggiornato PHP, non basta aggiornare WordPress

In breve

Informazioni aggiornate al 23 ottobre 2026, ore 17:24 (ora di Roma).

Che cosa è successo

Il 21 ottobre il progetto PHP ha rilasciato le versioni correttive 8.5.12, 8.4.27, 8.3.36 e 8.2.35 per due vulnerabilità critiche nel motore del linguaggio, note come PHP2Shell. Secondo gli advisory ufficiali di CVE-2026-109618 e CVE-2026-109619, un attaccante non autenticato può eseguire codice sul server con i privilegi del processo web. Lo stesso giorno l’Agenzia per la cybersicurezza nazionale, tramite CSIRT Italia, ha pubblicato un avviso, aggiornato il 23 ottobre con un impatto sistemico “Critico”.

Il difetto sta in PHP: va aggiornato PHP, non basta aggiornare WordPress, temi o plugin.

Due difetti nella gestione della memoria

Entrambe le falle hanno un punteggio CVSS v4.0 di 9,2, assegnato dal progetto PHP. Il National Vulnerability Database statunitense (NVD), che sta ancora analizzando le due CVE, ha pubblicato il 21 ottobre una propria valutazione con la versione 3.1 dello standard: 9,8 per CVE-2026-109618 e 8,1 per CVE-2026-109619 (per quest’ultima il punteggio, inizialmente 9,8, è stato rivisto il 22 ottobre). Il punteggio CVSS 10 circolato il 20 ottobre è errato: secondo la PHP Foundation veniva dalla fuga di notizie.

Secondo php.net, CVE-2026-109618 nasce da una corruzione della memoria quando PHP la esaurisce; CVE-2026-109619 da uno stato interno che sopravvive alla richiesta e consente anche di leggere porzioni di memoria.

Chi è esposto

Tra le versioni supportate sono vulnerabili quelle dei rami 8.5, 8.4, 8.3 e 8.2 precedenti alle release correttive; sono esposte anche le versioni non più supportate e le versioni di prova di PHP 8.6 precedenti alla RC4. Secondo il progetto PHP il rischio riguarda tutte le installazioni che servono richieste web ed è massimo con Apache e mod_php, dove l’attacco può partire prima di qualsiasi codice dell’applicazione.

Le versioni 8.1 e precedenti non ricevono più aggiornamenti: il progetto ha pubblicato soltanto backport minimi in codice sorgente per 7.4, 8.0 e 8.1. La CISA raccomanda a chi non può aggiornare subito, e a chi usa ancora PHP 8.1 o versioni precedenti, di mettere offline i sistemi basati su PHP finché non saranno aggiornati. Ricorda che PHP è spesso un componente di altri software.

Scoperta e divulgazione

Secondo la PHP Foundation, la prima segnalazione è arrivata l’11 agosto da Calif; anche OpenAI ha segnalato in modo indipendente la stessa causa, e ulteriori vettori d’attacco sono stati indicati da Wiz Research il 24 agosto e da OpenAI il 18 settembre. Secondo OpenAI, Calif ha individuato una delle falle con un modello di OpenAI nel programma Patch the Planet; anche Wiz dichiara di aver usato modelli di intelligenza artificiale.

Attacchi: tentativi sì, compromissioni non confermate

Amazon riferisce di aver osservato nei propri honeypot un tentativo di sfruttamento già il 17 ottobre, prima della divulgazione, e altri tentativi da più attori il 21. Parla di tentativi diffusi, ma precisa che non è chiaro se siano andati a segno. Nell’avviso aggiornato il 23 ottobre, la Cyber Security Agency di Singapore ribadisce di essere a conoscenza di tentativi di sfruttamento diffusi e segnala lo sviluppo di più exploit dimostrativi.

Al momento del rilascio (21 ottobre, ore 16) il team di sicurezza di PHP non aveva individuato exploit funzionanti tra quelli in circolazione; il 23 ottobre ACN ha invece segnalato evidenze di proof of concept funzionanti per entrambe le vulnerabilità.

Al momento nessuna fonte ufficiale riporta compromissioni confermate, ma Amazon avverte che eventuali compromissioni potrebbero risalire a prima della divulgazione e consiglia di controllare i log almeno dal 17 ottobre. Le due CVE non compaiono nel catalogo KEV della CISA, l’elenco delle vulnerabilità con prove di sfruttamento attivo (verifica del 23 ottobre alle 17:24; il catalogo non risultava aggiornato dal 21 ottobre).

WordPress e hosting condivisi

WordPress.org precisa che non è previsto né necessario un aggiornamento di WordPress: bisogna aggiornare PHP.

Come controllare la versione di PHP in WordPress

La versione in uso si legge in Strumenti > Salute del sito > Informazioni > Server, alla voce “Versione di PHP”.

Hosting condivisi e gestiti

Sugli hosting condivisi e gestiti l’aggiornamento di PHP è di solito curato dal provider, ma va verificato: WordPress.org invita a controllare gli aggiornamenti del proprio host e, se necessario, ad aggiornare PHP. Conviene chiedere al provider se la versione corretta è installata e se i processi PHP sono stati riavviati. Se il pannello di controllo permette di scegliere la versione di PHP, va selezionato un ramo supportato e aggiornato.

Con un backport il numero di versione può restare invariato: Hostinger suggerisce di controllare la data di build.

Cosa fare: aggiornare PHP e riavviare i processi

Una terza vulnerabilità collegata, CVE-2026-115560, sfruttabile solo in casi particolari

Il 23 ottobre PHP ha annunciato CVE-2026-115560, nella funzionalità Session upload progress. È sfruttabile solo con una combinazione insolita di configurazione e codice applicativo, cioè nelle applicazioni che cambiano durante l’esecuzione il gestore di serializzazione delle sessioni. L’advisory completo arriverà con la prossima release ordinaria e la CVE non ha ancora una scheda pubblica né un punteggio CVSS. Nel frattempo il progetto PHP consiglia di disattivare la funzionalità fino ad allora, salvo nelle applicazioni che non cambiano mai quel gestore.

Domande frequenti

1. Che cos’è PHP2Shell?

È il nome collettivo di due vulnerabilità critiche nel motore di PHP, CVE-2026-109618 e CVE-2026-109619. Secondo gli advisory ufficiali, un attaccante non autenticato può eseguire codice sul server con i privilegi del processo web.

2. Bisogna aggiornare WordPress?

No, non per questa falla: WordPress.org precisa che non è previsto né necessario un aggiornamento di WordPress e che bisogna aggiornare PHP. Il difetto sta in PHP, quindi aggiornare WordPress, temi o plugin non basta.

3. Quali versioni di PHP contengono la correzione?

Il 21 ottobre 2026 il progetto PHP ha rilasciato le versioni correttive 8.5.12, 8.4.27, 8.3.36 e 8.2.35. Aggiornare PHP o installare il pacchetto corretto della propria distribuzione è l’unica correzione completa; dopo l’aggiornamento vanno riavviati tutti i processi PHP. Le versioni 8.1 e precedenti non ricevono più aggiornamenti: per 7.4, 8.0 e 8.1 il progetto ha pubblicato solo backport minimi in codice sorgente, e la CISA raccomanda a chi non può aggiornare subito, e a chi usa ancora 8.1 o versioni precedenti, di mettere offline i sistemi basati su PHP finché non saranno aggiornati.

4. Come si controlla la versione di PHP di un sito WordPress?

In Strumenti > Salute del sito > Informazioni > Server, alla voce «Versione di PHP». Sugli hosting condivisi e gestiti conviene chiedere al provider se la versione corretta è installata e se i processi PHP sono stati riavviati; con un backport il numero di versione può restare invariato: Hostinger, per esempio, suggerisce di controllare la data di build.

5. Le vulnerabilità sono già sfruttate?

Amazon e la Cyber Security Agency di Singapore segnalano tentativi di sfruttamento diffusi: Amazon ne ha osservato uno già il 17 ottobre 2026, prima della divulgazione, ma precisa che non è chiaro se qualcuno sia andato a segno. Il 23 ottobre l’ACN ha segnalato evidenze di proof of concept funzionanti per entrambe le vulnerabilità. Alla verifica del 23 ottobre 2026, ore 17:24 (ora di Roma), nessuna fonte ufficiale riportava compromissioni confermate e le due CVE non comparivano nel catalogo KEV della CISA, che non risultava aggiornato dal 21 ottobre. Amazon avverte che eventuali compromissioni potrebbero risalire a prima della divulgazione e consiglia di controllare i log almeno dal 17 ottobre.

Fonti citate