Esiste una correzione PHP2Shell per un PHP a fine vita?
Non sotto forma di release. L’advisory di PHP spiega che PHP 8.1 e precedenti non ricevono più aggiornamenti dal progetto PHP, che alcune distribuzioni e fornitori LTS offrono correzioni con backport (conviene chiedere al proprio fornitore) e che l’alternativa è aggiornare a una versione supportata.
L’advisory aggiunge che, vista la gravità di queste vulnerabilità, il team di sicurezza di PHP ha fornito backport minimi sul sorgente per PHP 7.4, PHP 8.0 e PHP 8.1, pensati per chi compila PHP da sé o non ha accesso a un fornitore LTS.
Ci sono quindi tre cose diverse, da non confondere:
| Opzione | Esiste per 7.4 / 8.0 / 8.1? | Per chi |
|---|---|---|
| Nuova release ufficiale di PHP con la correzione | No | — |
| Patch minima ufficiale sul sorgente | Sì | Chi compila PHP dal sorgente |
| Pacchetto della distribuzione o di un fornitore LTS | Alcuni fornitori (per esempio il pacchetto php8.1 di Ubuntu 22.04 è corretto) | Server che usano i pacchetti di quel fornitore |
Quali versioni di PHP sono a fine vita?
I rami supportati che ricevono la correzione PHP2Shell sono 8.2, 8.3, 8.4 e 8.5:
| Ramo | Prima versione corretta |
|---|---|
| PHP 8.2 | 8.2.35 |
| PHP 8.3 | 8.3.36 |
| PHP 8.4 | 8.4.27 |
| PHP 8.5 | 8.5.12 |
| 8.1 e precedenti | Nessuna nuova release; patch ufficiali dei sorgenti per 7.4, 8.0 e 8.1 |
PHP 8.1, 8.0, 7.4 e tutte le versioni precedenti sono a fine vita. L’annuncio di PHP ricorda anche che PHP 8.2 arriva a fine vita il 31 dicembre 2026, quindi passare a 8.2 vale per poco. La ricerca originale riferisce che almeno una delle falle PHP2Shell risale fino a PHP 5.4.
Uso PHP 7.4. Cosa devo fare?
- Scopri da dove arriva il tuo PHP. Se te lo fornisce il provider di hosting o la distribuzione Linux, chiedi a loro o consulta il loro avviso di sicurezza per un pacchetto con backport.
- Se compili PHP da te, applica la patch ufficiale sul sorgente per il tuo ramo, ricompila, distribuisci e riavvia tutti i worker PHP. Tieni traccia della patch e della build.
- Pianifica il passaggio a un ramo supportato (8.3 o successivo). È l’unica strada che continua a ricevere correzioni di sicurezza.
E se uso PHP 7.3 o una versione più vecchia?
Per PHP 7.3 e precedenti non esiste una patch ufficiale PHP2Shell: le patch sul sorgente di PHP coprono solo 7.4, 8.0 e 8.1. Se il tuo fornitore non distribuisce un pacchetto corretto per la tua release, l’unica correzione è passare a un ramo supportato. Se non riesci a farlo a breve, valuta di mettere il sito offline o di limitarne l’accesso, come consigliano diverse agenzie nazionali per i sistemi che non si possono aggiornare.
Un numero come 7.4.33 dimostra che sono vulnerabile?
Non da solo. Un pacchetto con backport del fornitore o una tua build patchata mantiene il numero 7.4 pur contenendo la correzione. Se indichi che PHP arriva da un pacchetto del sistema operativo o è compilato dal sorgente, il PHP version checker ti invita a verificare la patch del fornitore invece di segnalare la versione come colpita. Una build upstream di 7.4 senza patch è colpita.
Passare da PHP 7.4 a 8.3 romperà il mio sito?
Può succedere. I salti di versione maggiore eliminano funzioni vecchie e cambiano comportamenti, con effetti su plugin, temi e codice personalizzato datati. Fai un backup completo, prova su una copia di staging, aggiorna prima l’applicazione e i plugin, e dopo il cambio controlla login, moduli, pagamenti e attività pianificate. Per WordPress, vedi la guida alla versione PHP di WordPress.
Posso scaricare qui un installer della patch PHP2Shell?
No. Usa i download ufficiali del sorgente e i branch di backport linkati dall’annuncio di PHP. Il modo di applicarli dipende dalla tua build, dalle estensioni e dal deployment, quindi non esiste un installer universale. Se preferisci non compilare PHP da te, usa un pacchetto del fornitore o passa a una release supportata.
Come dimostro che una build PHP personalizzata è patchata?
Registra la revisione del sorgente, il branch di backport applicato, la data della build e dove è stata distribuita. Poi verifica che il sito esegua davvero la nuova build dopo il riavvio dei worker; php -v da riga di comando potrebbe ancora puntare a un altro binario. Vedi la guida per controllare la versione di PHP e torna al verificatore PHP2Shell per la panoramica.
Quali fonti sostengono questa pagina?
- The PHP Group: advisory di sicurezza
- The PHP Group: versioni supportate
- The PHP Group: download
- Manuale PHP: installazione su sistemi Unix
- Wiz Research: ricerca originale
- Canonical: avviso di sicurezza Ubuntu
Verifica se il tuo PHP è esposto a PHP2Shell
Inserisci la versione indicata dal tuo sito. La confrontiamo con la prima versione corretta del suo ramo e ti diciamo cosa fare.
Verificatore PHP2Shell →Fonti
I fatti principali di questa pagina (versioni corrette, dettagli dei CVE, pacchetti dei fornitori e avvisi delle agenzie) provengono da fonti ufficiali. Ricerche, notizie e post della community sono indicati come tali.
- Security advisory: Critical remote code execution vulnerabilities, update nowUfficiale The PHP Group
- Supported VersionsUfficiale The PHP Group
- Downloads & Installation InstructionsUfficiale The PHP Group
- Installation on Unix systemsUfficiale The PHP Group
- PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the InternetRicerca Wiz Research
- USN-8948-1: PHP vulnerabilitiesFornitore Canonical