PHP2Shell è il nome di due falle critiche in PHP che possono permettere a un attaccante di eseguire codice su un server senza conoscere alcuna password. Se il vostro sito funziona su un sistema basato su PHP come WordPress, potrebbe essere a rischio. La soluzione non è aggiornare WordPress, ma PHP sul server: versione 8.5.12, 8.4.27, 8.3.36, 8.2.35 o successiva, confermata dal vostro provider di hosting.
Negli ultimi due giorni «PHP» è stato ovunque nei notiziari. Nei Paesi Bassi DigiD, l'accesso dei cittadini ai servizi pubblici, è andato offline. In Finlandia alcuni siti governativi sono stati spenti per precauzione. Negli Stati Uniti FBI e NSA hanno chiesto alle organizzazioni di scollegare i server se non possono applicare la patch. In Turchia la Direzione per la cybersicurezza della Presidenza ha avviato una scansione a livello nazionale.
In questo articolo spieghiamo cosa è successo senza sommergervi di dettagli tecnici. Poi vediamo, passo dopo passo, come un operatore di tour può capire se il suo sito è coinvolto, cosa fare oggi e come prepararsi meglio per la prossima volta.
Prima le basi: cos'è PHP?
PHP è un linguaggio di programmazione che lavora dietro le quinte di molti siti web. Quando un visitatore apre il vostro sito, il codice che costruisce la pagina, trasforma il modulo di contatto in un'email o salva una prenotazione nel database è molto spesso scritto in PHP.
Anche se non ne avete mai sentito parlare, probabilmente lo usate da qualche parte. WordPress, WooCommerce, Joomla, Drupal e molti plugin di prenotazione funzionano con PHP. Secondo l'FBI, circa il 70% dei siti web nel mondo usa PHP.
Cosa è successo?
Il 20 e 21 ottobre 2026 il team di PHP ha rilasciato aggiornamenti d'emergenza per due falle di sicurezza critiche. Sono identificate come CVE-2026-109618 e CVE-2026-109619 e insieme sono note come «PHP2Shell». Entrambe hanno ottenuto un punteggio di gravità di 9,2 su 10.
Perché è grave: in certe condizioni queste falle permettono a un attaccante di eseguire qualsiasi codice sul vostro server, via internet, senza nome utente né password. In sicurezza si chiama esecuzione di codice da remoto (RCE). In parole semplici: qualcuno può entrare dalla vostra porta senza bisogno della chiave.
Secondo Qualys, una falla nasce quando i dati restano a metà perché il server esaurisce la memoria, l'altra quando, dopo un errore, la richiesta del visitatore successivo rilegge memoria già liberata. I ricercatori hanno anche dimostrato che dati come password, informazioni di sessione e chiavi API possono uscire dalla memoria del server.
L'agenzia Anadolu riferisce che le falle sono state scoperte ad agosto da una società di sicurezza chiamata Calif con l'aiuto dell'IA. Le correzioni sono state preparate in silenzio per circa due mesi, ma la notizia è trapelata alla stampa il giorno prima dell'uscita delle patch.
Perché è una cosa così grande?
- La scala è enorme: Palo Alto Networks ha individuato oltre 22,6 milioni di sistemi esposti su internet potenzialmente vulnerabili.
- Le versioni vecchie sono ovunque: secondo Qualys, il 71% delle installazioni PHP con versione nota usa versioni non più supportate, che non ricevono patch regolari.
- Gli attacchi sono iniziati: Cloudflare ha segnalato traffico di attacco contro queste falle, e circola già codice utilizzabile per sfruttarle.
- Gli aggiornamenti sono lenti: nelle prime 12 ore solo circa 199.000 dei 167 milioni di installazioni monitorate da Qualys erano state aggiornate.
Ecco perché i governi hanno spento dei siti. Finché un sistema non è aggiornato, la scelta più sicura è chiudere la porta da cui potrebbe entrare un attaccante. In Turchia la Direzione per la cybersicurezza ha inviato avvisi urgenti agli enti pubblici e ha invitato le aziende private a controllare i loro sistemi PHP. Ha dichiarato di non aver rilevato problemi che incidano sui servizi di e-Devlet, il portale nazionale della pubblica amministrazione.
Cosa può significare per un operatore di tour?
Cosa può fare un attaccante una volta dentro dipende da cosa contiene il vostro sito. Gli scenari più probabili:
- Fuga di dati dei clienti: nomi, telefoni, email e dati del passaporto dai moduli di prenotazione. A seconda di dove vi trovate voi e i vostri ospiti, norme come il GDPR possono richiedere una notifica.
- Furto di password e chiavi: la password del database e le chiavi API del sistema di pagamento, del channel manager o del servizio email.
- Contenuti dannosi sul sito: pagine di spam nascoste o codice che reindirizza i visitatori altrove. Se Google se ne accorge, il sito può comparire con un avviso e mesi di lavoro SEO possono risentirne.
- Il server usato per altro: mining di criptovalute, invio di spam o attacchi ad altri siti.
- Vendite perse: se dovete spegnere il sito per precauzione, non potete ricevere prenotazioni, anche in alta stagione.
Il vostro sito è coinvolto? Controllate prima la versione
Il primo passo è scoprire se il sito funziona con PHP e con quale versione. In WordPress andate su Strumenti → Salute del sito → Info → Server nel pannello di amministrazione. Anche il pannello di hosting (cPanel, Plesk ecc.) di solito la mostra alla voce «Versione PHP».
Queste sono le versioni che correggono le falle:
- Con PHP 8.5: 8.5.12 o successiva
- Con PHP 8.4: 8.4.27 o successiva
- Con PHP 8.3: 8.3.36 o successiva
- Con PHP 8.2: 8.2.35 o successiva
- Con PHP 8.1 o precedenti: non c'è un aggiornamento ufficiale regolare. Se il vostro hosting non ha applicato una patch speciale, dovete passare a una versione più recente.
Una nota: alcune distribuzioni Linux rilasciano la correzione mantenendo il vecchio numero di versione. Quindi un numero più basso non significa sempre che il sito sia vulnerabile. Per questo la strada più affidabile è chiedere direttamente al vostro provider di hosting.
Cosa fare oggi
- Scrivete al vostro hosting e chiedete: «Il PHP del mio server è stato aggiornato contro PHP2Shell (CVE-2026-109618 e CVE-2026-109619)?». La risposta «Abbiamo aggiunto una regola firewall» da sola non basta. Fatevi confermare che è stato aggiornato PHP stesso.
- Sappiate che aggiornare WordPress non risolve: la falla non è in WordPress, ma nel PHP che gira sotto. Aggiornamenti di plugin o temi, plugin di sicurezza e modalità manutenzione non vi proteggono, perché l'attacco può partire prima ancora che WordPress si carichi.
- Se avete un vostro server (VPS): aggiornate i pacchetti PHP e poi riavviate PHP-FPM o Apache. Un server non riavviato continua a eseguire il vecchio codice vulnerabile. Con Docker, scaricate la nuova immagine e ricreate i container.
- Se usate una versione vecchia: fate un backup completo conservato fuori dal server, poi passate a PHP 8.3 o 8.4. Dopo provate una per una la home page, le pagine dei tour, il modulo di contatto e i passaggi di prenotazione.
- Se non potete aggiornare subito: mettere il sito dietro un firewall come Cloudflare offre una protezione temporanea. Se avete un team tecnico, può applicare le impostazioni provvisorie raccomandate da PHP (per esempio session.upload_progress.enabled=0). Non sono una soluzione completa, fanno solo guadagnare tempo.
Qualcuno è già entrato? I segnali da controllare
Dopo l'aggiornamento conviene verificare se qualcuno è entrato prima che la falla fosse chiusa:
- Ci sono in WordPress account amministratore che non riconoscete?
- Compare un plugin che non avete installato?
- Ci sono file .php in wp-content/uploads, la cartella delle vostre immagini? Lì non dovrebbero esserci file PHP.
- Cercando site:vostrodominio.it su Google, compaiono pagine che non avete mai scritto?
- C'è un avviso in «Problemi di sicurezza» di Google Search Console?
- Il vostro hosting vi ha inviato avvisi di malware, spam o uso anomalo delle risorse?
Se notate uno di questi segnali, chiedete al vostro hosting di analizzare il server e di ripristinare un backup pulito precedente all'attività sospetta. Poi cambiate tutte le password e le chiavi API: WordPress, hosting, database, email e integrazioni di pagamento o dei canali. Se possono essere usciti dati dei clienti, rivolgetevi a un consulente legale per i vostri obblighi.
Guardando avanti: precauzioni durature
PHP2Shell non sarà l'ultima falla. La vera domanda è quanto sarete preparati la prossima volta. Le abitudini che consigliamo:
- Restate su una versione supportata: il software senza supporto non riceve patch. Oggi PHP 8.3 o 8.4 è una buona scelta.
- Affidate gli aggiornamenti a qualcuno: chi aggiorna il vostro sito e con quale frequenza? Deve esserci una risposta chiara. Un hosting gestito o un contratto di manutenzione è un modo semplice per metterlo per iscritto.
- Sappiate cosa avete: sito principale, vecchie pagine di campagne, installazioni di prova, sottodomini dimenticati… Tenete un elenco con server e versione di ciascuno. Gli attaccanti adorano i siti dimenticati.
- Eliminate ciò che non serve: cancellate plugin, temi e vecchi siti inutilizzati. Ogni pezzo in più è un'altra porta che una falla può aprire.
- Mettete il sito dietro un firewall: un servizio come Cloudflare diventa la prima linea di difesa quando viene annunciata una nuova falla, finché non potete aggiornare.
- Tenete separate password e chiavi: non scrivete chiavi API nel codice, date a ogni servizio solo gli accessi necessari e cambiate le chiavi regolarmente.
- Conservate i backup fuori dal server e provate a ripristinarli: un backup mai ripristinato è un backup di cui non sapete se funzionerà.
- Monitorate il sito: controlli di disponibilità, avvisi di Search Console e allarmi sulle modifiche ai file vi fanno vedere un problema prima dei vostri ospiti.
- Scrivete un breve piano per gli incidenti: decidete in anticipo chi chiamare, come mettere offline il sito temporaneamente e come informare i clienti se qualcosa va storto.
Il quadro generale: le falle si trovano più in fretta
L'aspetto più sorprendente di questa storia è che le falle sono state trovate con l'aiuto dell'IA. Gli stessi strumenti sono disponibili anche a chi ha cattive intenzioni. D'ora in poi le falle verranno trovate più in fretta, e sfruttate più in fretta.
Significa che l'epoca del «aggiorneremo quando avremo tempo» è finita. Per un operatore di tour il sito non è più solo una vetrina. È uno strumento di lavoro che riceve prenotazioni e conserva dati dei clienti, quindi tenerlo sicuro fa parte del mandare avanti l'attività.
In Monotim costruiamo siti su una base moderna che non è colpita direttamente da questo tipo di falla in un linguaggio lato server. Ma nessuna tecnologia resta sicura per sempre. Ciò che fa davvero la differenza è tenere d'occhio il sito e poter intervenire rapidamente quando qualcosa non va.
Se non siete sicuri che il vostro sito sia coinvolto da PHP2Shell, o il vostro hosting non vi ha dato una risposta chiara, possiamo guardarlo insieme.
Fonti
- PHP Announces Critical Security Release for Two Vulnerabilities (PHP2Shell), Qualys (blog.qualys.com)
- Threat Brief: Critical Vulnerabilities in PHP, Palo Alto Networks Unit 42 (unit42.paloaltonetworks.com)
- Responding to core PHP vulnerabilities CVE-2026-109618 and CVE-2026-109619, Google Cloud (cloud.google.com)
- Hundreds of websites taken offline as concern grows over two PHP vulnerabilities, The Record (therecord.media)
- Dünya çapında PHP kaynaklı güvenlik açığının giderilmesi için çok sayıda internet sitesi erişime kapatıldı, Anadolu Ajansı (aa.com.tr)
- PHP2Shell: what it is, and what to do on your WordPress site, Meow Apps (meowapps.com)
Cronologia degli aggiornamenti
- Attuale
Prima pubblicazione.