← Tutte le news
ARTICOLO
Indiscrezioni
23 ottobre 2026 3 min di lettura

PHP2Shell CVE: aggiorna PHP oggi, le due falle RCE sono già sfruttate

Due falle critiche di PHP, CVE-2026-109618 e CVE-2026-109619, permettono di eseguire codice senza autenticazione e sono già sfruttate. Le versioni corrette sono uscite il 21 ottobre.

In questo articolo
  1. Cosa è confermato
  2. PHP2Shell CVE: quali versioni di PHP sono sicure
  3. Cosa si dice
  4. Perché ti interessa
  5. Cosa fare oggi

PHP2Shell CVE-2026-109618 e CVE-2026-109619 sono due falle critiche del linguaggio PHP che permettono a chi non ha credenziali di eseguire codice su un server web. Il progetto PHP ha pubblicato le versioni corrette il 21 ottobre 2026 e quello stesso giorno sono stati osservati i primi attacchi. Se un tuo server, o quello di un cliente, esegue PHP, aggiornalo oggi.

Una grande sala dati vista dall'alto, con file di rack di server e cartelli «Mail servers» e «World Wide Web servers».
Foto: Florian Hirzinger - www.fh-ap.com (CC BY-SA 3.0), Wikimedia Commons.

Cosa è confermato

Il progetto PHP ha ricevuto le prime segnalazioni l'11 agosto 2026. Amazon Threat Intelligence ha riferito un tentativo di sfruttamento il 17 ottobre, prima della divulgazione pubblica. Il 20 ottobre i dettagli sono trapelati online prima della data concordata, e PHP ha anticipato il rilascio d'emergenza al 21 ottobre. Quel giorno watchTowr ha osservato sfruttamento attivo sulla sua rete di honeypot.

CVE-2026-109618 riguarda la gestione degli errori di memoria esaurita: se PHP finisce la memoria mentre prepara i dati della richiesta, quei dati restano inizializzati solo in parte e la pulizia finale li tratta come validi. CVE-2026-109619 è un errore di stato globale non azzerato che porta a un use-after-free sull'heap, con lettura di memoria ed esecuzione di codice. Entrambe permettono l'esecuzione di codice da remoto, senza autenticazione, con i privilegi dell'utente del web server. Gli advisory dei vendor di sicurezza le valutano 9,2 su CVSS v4.0.

Sono coinvolte tutte le installazioni PHP che servono richieste web: Apache con mod_php, PHP-FPM, php-cgi, LiteSpeed e FrankenPHP. Il progetto PHP considera il rischio più alto per mod_php, perché l'attacco può riuscire prima che giri il codice dell'applicazione. Per lo stesso motivo un firewall applicativo o un agente RASP dentro il processo PHP potrebbe non fermarlo.

PHP2Shell CVE: quali versioni di PHP sono sicure

  • PHP 8.5: aggiorna alla 8.5.12.
  • PHP 8.4: aggiorna alla 8.4.27.
  • PHP 8.3: aggiorna alla 8.3.36.
  • PHP 8.2: aggiorna alla 8.2.35.
  • PHP 8.1, 8.0 e 7.4: nessuna release ufficiale. Esistono backport minimi solo come sorgenti, oppure pacchetti di distribuzioni e fornitori LTS.
  • PHP 7.3 e precedenti, compreso PHP 5: nessuna correzione, serve passare a un ramo supportato.

Le distribuzioni Linux spesso correggono senza cambiare il numero di versione: controlla il changelog del pacchetto, non solo l'output di php -v.

Indiscrezione

Cosa si dice

Sullo stato dell'exploit le fonti non concordano. Alcuni ricercatori sostengono che le due falle siano già concatenate in un unico script funzionante e che esistano analisi e uno strumento pubblici. Huntress ha scritto di non aver riprodotto una prova di concetto, e JFrog ha avvertito che circolano falsi exploit. Chi scarica un presunto «exploit PHP2Shell» da un forum rischia di installare un malware.

Al 22 ottobre le falle non risultano nel catalogo CISA KEV, secondo watchTowr. Il Centro nazionale per la cybersicurezza del Regno Unito (NCSC) ha chiesto di aggiornare subito o di spegnere i sistemi esposti. VirusTotal stima oltre 5,1 milioni di host PHP raggiungibili da Internet.

Perché ti interessa

Se gestisci l'IT di una PMI o di più clienti, PHP non sta solo nei siti che hai scritto tu. Sta in WordPress, Joomla, Magento, PrestaShop, nei webmail, nei gestionali vecchi e in qualunque container la cui immagine di base contiene PHP. Un container resta con il PHP con cui è stato costruito: serve ricostruire o scaricare un'immagine corretta e rifare il deploy.

Cosa fare oggi

  1. Fai l'inventario: php -v su ogni host e docker exec <container> php -v su ogni container che serve PHP.
  2. Aggiorna alla versione corretta o al pacchetto corretto del tuo fornitore, poi riavvia PHP-FPM o Apache.
  3. Se non puoi aggiornare subito, togli quel sistema dall'accesso diretto da Internet.
  4. Come misure provvisorie, che non proteggono del tutto: session.upload_progress.enabled=0 e riavvio dei worker, un post_max_size basso (8M, o 32M se servono upload) e limiti di memoria a livello di container.
  5. Controlla i log degli accessi dal 17 ottobre e, se hai il dubbio che qualcuno abbia letto la memoria dei processi, ruota password, token e chiavi API.

Il progetto PHP lo dice chiaro: nessuna configurazione mitiga del tutto queste falle, e l'aggiornamento è l'unica difesa definitiva. Per farti aiutare a stabilire le priorità e a correggere in fretta, vedi i nostri servizi di cybersecurity.

Fonti: watchTowr, FAQ su PHP2Shell; BleepingComputer; Qualys; JFrog; Huntress.