Se il sito o il negozio online della tua azienda funziona con WordPress, Magento, Laravel o qualsiasi altro sistema basato su PHP, chiedi oggi stesso al tuo hosting o al tuo team tecnico di aggiornare PHP alla versione 8.5.12, 8.4.27, 8.3.36 o 8.2.35 e poi di riavviare il server. Il progetto PHP ha pubblicato queste versioni il 21 ottobre 2026 per chiudere due falle critiche chiamate PHP2Shell, ciascuna con un punteggio di 9.2 su 10, che permettono a un attaccante di eseguire comandi sul tuo server senza alcuna password. L'Autorità nazionale per la cybersicurezza dell'Arabia Saudita (NCA) ha emesso lo stesso giorno un avviso «critico» che raccomanda l'aggiornamento, e alcune società di sicurezza hanno visto tentativi di sfruttamento ore prima che la correzione fosse pubblicata.

Che cosa è successo esattamente?

Le due falle sono CVE-2026-109618 e CVE-2026-109619 e si trovano nel linguaggio PHP stesso, non in un plugin o in un tema. È questa la differenza chiave: nel nostro articolo precedente su le correzioni di WordPress diventate la mappa degli attaccanti, il difetto era in un software che gira sopra PHP. Qui il difetto è nelle fondamenta su cui poggia tutto quel software. Quindi un WordPress aggiornato o pochi plugin non ti proteggono.

Secondo il primo avviso di sicurezza di PHP, la prima falla compare quando una richiesta esaurisce la memoria mentre viene preparata, lasciando dati inizializzati a metà che PHP poi tratta come validi. Secondo il secondo avviso, l'altra falla lascia in sospeso dati di una richiesta precedente dopo che sono stati liberati, e la richiesta successiva sullo stesso processo li usa. Il risultato è lo stesso in entrambi i casi: una sola richiesta web costruita con cura basta per eseguire comandi sul server.

Wiz Research ha trovato le falle con l'aiuto di modelli di IA. Il suo rapporto dice che il team le ha scoperte il 19 agosto 2026, le ha segnalate al team di PHP il 24 agosto, e che ogni versione di PHP dalla 5.4 in poi è colpita da almeno una delle due. Wiz stima che PHP faccia funzionare circa il 70% dei siti web.

Il mio sito è coinvolto?

Molto probabilmente sì, se gira su PHP e la versione è precedente a quelle indicate sopra. Wiz ha dimostrato l'esecuzione di codice da remoto senza autenticazione su WordPress, Drupal e Joomla con la configurazione predefinita. Sansec ha esteso l'elenco nella sua analisi a 11 piattaforme, tra cui Magento 2.4.9, WordPress 7.1.2, Laravel 13.11, Symfony 8.1, phpMyAdmin, Nextcloud e WHMCS.

Per conoscere la tua versione di PHP, apri il pannello del tuo hosting (cPanel, Plesk o simili) e cerca «PHP Version», oppure chiedi al tuo team. Attenzione a due punti:

  • La versione 8.1 e le precedenti non sono più supportate e non riceveranno alcuna correzione. Secondo la tabella delle versioni supportate di PHP, gli unici rami supportati oggi sono 8.2, 8.3, 8.4 e 8.5.
  • Lo stesso ramo 8.2 perde il supporto di sicurezza il 31 dicembre 2026, tra due mesi e mezzo. Se aggiorni adesso, passa alla 8.4 o alla 8.5 e risparmiati un secondo aggiornamento a breve.

Cosa fare oggi: cinque passi

  1. Individua tutti i punti in cui gira PHP. Il sito, il negozio, il pannello di amministrazione e ogni sistema interno o portale clienti. Molte aziende dimenticano un vecchio sito ancora online.
  2. Aggiorna a una versione corretta. 8.5.12, 8.4.27, 8.3.36 o 8.2.35. Con un hosting condiviso, chiedi per iscritto al tuo provider: avete applicato l'aggiornamento del 21 ottobre?
  3. Riavvia PHP dopo l'aggiornamento. L'avviso di PHP precisa che un processo non riavviato resta sul vecchio codice, quindi scaricare l'aggiornamento non basta.
  4. Se il tuo sito è sulla 8.1 o precedente, pianifica l'aggiornamento questa settimana e provalo prima su una copia di staging, perché alcuni vecchi plugin potrebbero smettere di funzionare.
  5. Controlla i log. Wiz consiglia di cercare richieste di upload insolite seguite da errori di memoria esaurita, errori HTTP 500 ripetuti o cookie di sessione (PHPSESSID) troppo grandi o malformati.

Se non puoi aggiornare oggi

Gli avvisi di PHP suggeriscono misure temporanee che riducono il rischio ma non sostituiscono l'aggiornamento: disattivare session.upload_progress.enabled impostandolo a 0 e riavviare tutti i processi, e sulla versione 8.5 impostare fatal_error_backtraces a 0. Se il tuo sito non accetta mai caricamenti di file, puoi anche bloccare le richieste multipart sul server di front-end.

Se il tuo sito è dietro Cloudflare, l'azienda spiega nel suo blog di aver distribuito regole firewall contro queste falle dalle 3:02 UTC del 21 ottobre, circa 9 ore prima della divulgazione, su tutti i piani, compreso quello gratuito. Ma Cloudflare stessa consiglia di aggiornare PHP anche con questa protezione, perché gli attaccanti continuano a modificare i loro payload.

Il punto di vista di Origami

Questa falla ricorda che la sicurezza di un sito non si ferma all'aggiornamento di WordPress e dei suoi plugin. Sotto ogni sito ci sono un linguaggio di programmazione, un server e delle impostazioni, e tutti hanno bisogno di qualcuno che li segua. Quello che vediamo spesso nelle aziende è un sito costruito anni fa di cui nessuno sa più quale versione di PHP usi né chi abbia l'accesso per aggiornarlo. Se è il tuo caso, la domanda non è più «dobbiamo aggiornare?» ma «chi lo aggiorna oggi?». In Origami costruiamo siti e sistemi e ne seguiamo gli aggiornamenti dal primo giorno. Se vuoi far verificare il tuo sito o aggiornare PHP senza interruzioni, contattaci.

Fonti