PHP2Shell, due falle critiche nel motore di PHP: per proteggere un sito va aggiornato PHP, non basta aggiornare WordPress
In breve
- PHP2Shell sono due falle nel motore di PHP (CVE-2026-109618 e CVE-2026-109619): CVSS v4.0 9,2 secondo il progetto PHP; l’NVD, con analisi ancora in corso, indica 9,8 e 8,1 in CVSS 3.1.
- La correzione completa è aggiornare PHP alle versioni correttive (o al pacchetto corretto della distribuzione) e poi riavviare tutti i processi PHP.
- Non serve un aggiornamento di WordPress per questa falla; sugli hosting condivisi va verificato con il provider che la correzione sia installata.
- Alla verifica del 23 ottobre 2026, ore 17:24 (ora di Roma): tentativi di sfruttamento ed exploit dimostrativi segnalati, nessuna compromissione confermata da fonti ufficiali, CVE non presenti nel catalogo KEV (fermo al 21 ottobre).
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
- Aggiornare PHP o installare il pacchetto corretto della propria distribuzione: è l’unica correzione completa.
- Dopo l’aggiornamento, riavviare tutti i processi PHP (Apache, PHP-FPM e i worker di lunga durata), come indicano php2shell.com e la CSA di Singapore.
- Verificare la versione usata dal servizio web, non quella della riga di comando: gli strumenti segnalati dal CERT-AgID danno risultati non definitivi e quello con test attivi va usato solo su sistemi autorizzati.
- Le mitigazioni temporanee di PHP non rendono sicura un’installazione e nascondere i messaggi di errore non protegge; le regole WAF di Cloudflare e AWS aiutano, ma non sostituiscono l’aggiornamento.
- ACN raccomanda di cercare nei log segni di attività sospette, anche dopo la patch.
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
- php.net – PHP: News Archive – 2026
- PHP (GitHub, php/php-src) – RCE via OOM corruption, advisory GHSA-w8hw-w9fx-j79w (CVE-2026-109618)
- PHP (GitHub, php/php-src) – RCE via stale global state, advisory GHSA-6wmf-4rv5-p3rp (CVE-2026-109619)
- The PHP Foundation – Today’s PHP Security Release, and How We’re Strengthening PHP Security
- NVD – CVE-2026-109618
- NVD – CVE-2026-109619
- ACN / CSIRT Italia – PHP2Shell: sanate vulnerabilità critiche in PHP
- CERT-AgID – PHP2Shell: strumenti per verificare l’esposizione alle vulnerabilità critiche
- CISA – Critical Vulnerabilities in PHP Require Immediate Patching
- CISA – CISA Catalog of Known Exploited Vulnerabilities (feed JSON)
- Cyber Security Agency of Singapore – Critical Vulnerabilities in PHP (PHP2Shell)
- Cyber Security Agency of Singapore – PHP2Shell: Monitoring for related compromises (PDF, versione 1.0, 23 ottobre 2026)
- Amazon (AWS Security Blog) – Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPot
- Amazon (AWS Security Blog) – Using AWS WAF to apply mitigations for PHP2Shell RCE vulnerabilities (CVE-2026-109618 and CVE-2026-109619)
- Cloudflare – Cloudflare deploys protections against php2shell vulnerability
- Wiz Research – analisi tecnica di PHP2Shell sul blog di Wiz (21 ottobre 2026): wiz.io/blog/php2shell-php-rce
- php2shell.com (Wiz) – PHP2Shell
- OpenAI – Patch the Planet: global response coordination as agents uncover critical vulnerabilities
- WordPress.org – Critical PHP Security Release
- Hostinger – Hostinger deploys protections against php2shell PHP vulnerabilities