home / blog
2026-10-21 · critica
PHP2Shell: due CVE critiche nel runtime PHP (CVE-2026-109618 e CVE-2026-109619)
Due vulnerabilità critiche nel runtime PHP, CVSS 9,2. Versioni corrette per ogni ramo: aggiornare subito i sistemi esposti.

Il 21 ottobre 2026 PHP ha pubblicato le correzioni per due vulnerabilità critiche nel proprio runtime, CVE-2026-109618 e CVE-2026-109619, note insieme come PHP2Shell. Il punteggio CVSS v4.0 è 9,2. La divulgazione è avvenuta il 20 ottobre, con dettagli già circolati prima dell'embargo.
La prima riguarda la gestione della memoria in condizioni di esaurimento. La seconda riguarda uno stato interno obsoleto che continua a fare riferimento a memoria già liberata. Insieme possono consentire, a determinate condizioni, esecuzione di codice remoto con i privilegi del processo PHP, senza autenticazione.
Le versioni corrette sono 8.5.12, 8.4.27, 8.3.36 e 8.2.35. I rami 8.1 e precedenti non ricevono più correzioni upstream: per questi serve un ramo supportato o una patch verificata del fornitore. Le versioni colpite vanno controllate sul pacchetto installato, non sulla sola versione dichiarata dalla CLI.
Il Canadian Centre for Cyber Security segnala un proof of concept pubblico e tentativi di sfruttamento in più paesi, senza conferma di sfruttamento attivo al momento dell'avviso, e indica il rischio più alto per le configurazioni con mod_php.
Aggiornare con priorità i sistemi PHP esposti su internet. Dopo l'aggiornamento, riavviare PHP-FPM, Apache e i container, e controllare i log per richieste multipart anomale e per crash ricorrenti dei worker. Disattivare session.upload_progress riduce l'esposizione ma non chiude da sola le due vulnerabilità.
In sintesi
- Cosa
- Due vulnerabilità nel runtime PHP, CVE-2026-109618 e CVE-2026-109619, note come PHP2Shell. Possono consentire esecuzione di codice remoto non autenticata, a determinate condizioni.
- Gravità
- CVSS v4.0 9,2 (critica).
- Cause
- CVE-2026-109618: gestione non sicura della memoria in condizioni di esaurimento (out-of-memory). CVE-2026-109619: stato interno obsoleto che fa riferimento a memoria già liberata.
- Versioni interessate
- PHP 8.5.0–8.5.11, corretta in 8.5.12. PHP 8.4.0–8.4.26, corretta in 8.4.27. PHP 8.3.0–8.3.35, corretta in 8.3.36. PHP 8.2.0–8.2.34, corretta in 8.2.35. PHP 8.1 e precedenti: dipende dal ramo e dalle patch del fornitore.
- Componenti esposti
- PHP-FPM con Nginx, Apache mod_php, php-cgi, LiteSpeed e FrankenPHP, container Docker con PHP. Le applicazioni sopra PHP (CMS, pannelli, API) ereditano il rischio del runtime.
- Stato
- Proof of concept pubblico segnalato e tentativi di sfruttamento riportati in più paesi. Al momento dell'avviso canadese lo sfruttamento attivo non era ancora confermato.
- Azione
- Aggiornare con priorità. Verificare la versione reale di CLI, PHP-FPM, moduli Apache e container: php -v può non coincidere con il runtime del web server. Riavviare i servizi e confermare che i worker usino la versione corretta.
Fonti: Canadian Centre for Cyber Security, AL26-026 · Palo Alto Networks Unit 42