
Il 21 ottobre 2026 il team di PHP ha pubblicato aggiornamenti di sicurezza urgenti per due vulnerabilità critiche, identificate come CVE-2026-109618 e CVE-2026-109619. Entrambe hanno ricevuto un punteggio CVSS v4.0 pari a 9,2 su 10 e possono consentire, in determinate condizioni, l'esecuzione di codice da remoto senza autenticazione.
Il problema riguarda il motore PHP, cioè il software utilizzato dal server per eseguire siti e applicazioni web. Non è quindi una vulnerabilità limitata a uno specifico CMS o a un singolo plugin. Un sito può essere interessato anche quando il suo codice applicativo è stato scritto correttamente.
Quali sono le vulnerabilità rilevate?
La CVE-2026-109618 riguarda la gestione della memoria quando PHP esaurisce le risorse disponibili durante una richiesta. In alcune condizioni il processo può utilizzare dati non inizializzati o non più validi. I ricercatori hanno dimostrato che il problema può essere sfruttato per eseguire codice con i permessi del processo web.
La CVE-2026-109619 riguarda invece alcuni dati globali conservati dai processi PHP tra una richiesta e la successiva. Se tali dati non vengono azzerati correttamente dopo un errore, una richiesta successiva può accedere a uno stato non più valido e creare le condizioni per l'esecuzione di codice.
L'impatto concreto dipende dalla versione di PHP, dal modo in cui è collegato al server web, dalla configurazione e dall'applicazione eseguita. Il fatto che l'attacco richieda condizioni specifiche non rende però prudente rimandare l'aggiornamento.
Quali versioni di PHP sono sicure?
Gli aggiornamenti che correggono entrambe le vulnerabilità sono:
- PHP 8.2.35;
- PHP 8.3.36;
- PHP 8.4.27;
- PHP 8.5.12.
Chi utilizza uno di questi rami deve installare almeno la versione indicata o una versione successiva. Le versioni precedenti sono considerate vulnerabili. I rami di PHP ormai fuori supporto non devono essere ritenuti sicuri solo perché non compaiono nell'elenco degli aggiornamenti: vanno sostituiti con una versione ancora mantenuta.
PHP 8.2 raggiungerà inoltre la fine del supporto il 31 dicembre 2026. Anche dopo aver installato la versione 8.2.35 è quindi opportuno pianificare il passaggio a un ramo più recente e supportato.
Come verificare la versione installata?
Nel caso di un hosting gestito o condiviso, la versione può essere visibile nel pannello di controllo. È importante controllare il numero completo: la sola indicazione "PHP 8.5", per esempio, non permette di distinguere una versione vulnerabile da PHP 8.5.12.
Se il pannello non mostra il numero completo, si può chiedere al fornitore di confermare per iscritto che il servizio abbia ricevuto le correzioni per CVE-2026-109618 e CVE-2026-109619. Una pagina pubblica con tutte le informazioni prodotte da phpinfo() non dovrebbe rimanere online, perché può rivelare dettagli utili a un attaccante.
Su server, VPS o container gestiti direttamente bisogna controllare sia la versione disponibile dalla riga di comando sia quella realmente utilizzata dal server web. Dopo l'aggiornamento occorre riavviare tutti i processi PHP e verificare che non siano rimasti attivi worker basati sulla versione precedente.
Cosa fare per proteggere un sito PHP?
La priorità è applicare l'aggiornamento ufficiale. Il team PHP chiarisce che non esiste una mitigazione di configurazione completa capace di sostituire la correzione.
Un intervento prudente comprende questi passaggi:
- identificare tutti i siti, servizi e applicazioni che utilizzano PHP;
- verificare il numero completo della versione in esecuzione;
- effettuare un backup di file, configurazioni e database;
- aggiornare a una versione corretta e ancora supportata;
- riavviare i processi PHP o chiedere conferma dell'operazione al provider;
- provare pagine, moduli, autenticazione, caricamenti e funzioni principali;
- controllare log, file modificati e account amministrativi per individuare attività anomale;
- monitorare gli avvisi del fornitore e del progetto PHP.
Se non è possibile aggiornare immediatamente, l'applicazione esposta su Internet dovrebbe essere isolata o resa temporaneamente non raggiungibile fino all'installazione della correzione. Firewall applicativi e limiti sulle richieste possono ridurre alcuni tentativi, ma non costituiscono una protezione completa.
Aggiornare WordPress o un plugin è sufficiente?
No. CMS, temi, plugin e applicazioni devono certamente essere mantenuti aggiornati, ma queste due vulnerabilità si trovano nel motore PHP sottostante. Aggiornare soltanto WordPress, Joomla, Drupal o il codice del sito non corregge una versione vulnerabile di PHP.
Allo stesso modo, cambiare password o disattivare un singolo plugin non elimina il problema. Queste attività possono essere utili dopo un possibile incidente, ma la misura essenziale rimane l'aggiornamento del runtime PHP fornito dal server o dall'hosting.
Quali controlli eseguire dopo l'aggiornamento?
Installare la patch riduce il rischio di nuovi tentativi, ma non dimostra che il sistema non sia stato compromesso in precedenza. Sui sistemi esposti con una versione vulnerabile è opportuno cercare:
- file PHP nuovi o modificati senza una ragione conosciuta;
- account amministrativi o chiavi di accesso non riconosciuti;
- accessi insoliti nei log del server e dell'applicazione;
- processi, attività pianificate o reindirizzamenti anomali;
- modifiche inattese a configurazioni, database e pagine del sito;
- picchi di richieste, errori o consumo di memoria.
La profondità dell'analisi deve essere proporzionata al valore dei dati e dei servizi coinvolti. In presenza di indizi concreti non conviene cancellare subito file e registri: preservarli può essere importante per ricostruire l'accaduto e definire un ripristino affidabile.
Dove trovare informazioni affidabili?
Per gli aspetti tecnici è preferibile consultare gli avvisi pubblicati dal progetto PHP:
- CVE-2026-109618: RCE via OOM corruption;
- CVE-2026-109619: RCE via stale global state;
- comunicazioni e versioni pubblicate da PHP.
Anche ENISA ha invitato le organizzazioni a identificare le applicazioni PHP, coordinarsi con i fornitori e applicare rapidamente gli aggiornamenti, dando priorità ai sistemi esposti su Internet.
Queste vulnerabilità ricordano che la sicurezza di un sito non dipende soltanto dal suo codice. Sistema operativo, runtime, server web, applicazione e servizi del fornitore fanno parte della stessa catena: conoscere le versioni utilizzate, mantenere backup verificati e sapere chi è responsabile degli aggiornamenti permette di reagire più rapidamente quando viene pubblicata una falla critica.