In breve: un aggiornamento PHP su LiteSpeed riguarda i pacchetti lsphp, con cui LiteSpeed esegue PHP tramite LSAPI. Dopo l'aggiornamento tutti i processi lsphp devono riavviarsi, e con LiteSpeed questo non avviene sempre in automatico insieme al web server. Verifichi lo stato dei pacchetti e l'orario di avvio dei processi prima di classificare il server come aggiornato.
LiteSpeed, LSAPI e lsphp in breve
LiteSpeed Web Server e la variante libera OpenLiteSpeed non eseguono PHP come modulo, ma tramite un'interfaccia propria chiamata LSAPI. I programmi PHP corrispondenti si chiamano lsphp e provengono di solito da fonti di pacchetti dedicate, per ogni versione ad esempio lsphp83 o lsphp84. Su pannelli come cPanel, Plesk o CyberPanel possono essere in gioco anche pacchetti PHP propri del pannello.
PHP2Shell comprende le vulnerabilità CVE-2026-109618 e CVE-2026-109619 in PHP stesso, entrambe valutate CVSS v4.0 9.2. Il progetto PHP elenca espressamente LiteSpeed tra le modalità di esecuzione interessate. Sono corrette le versioni 8.5.12, 8.4.27, 8.3.36 e 8.2.35.
Aggiornamento PHP su LiteSpeed: rilevare l'esistente
Scopra per prima cosa quali versioni di lsphp sono installate e quali sono in uso. I comandi seguenti leggono soltanto. Percorsi e nomi dei pacchetti sono esempi e dipendono da installazione e distribuzione.
# Versioni lsphp installate (percorso tipico)
ls -d /usr/local/lsws/lsphp*/ 2>/dev/null
for p in /usr/local/lsws/lsphp*/bin/lsphp; do echo "$p"; "$p" -v | head -1; done
# Stato dei pacchetti (esempi)
rpm -qa | grep -E '^lsphp[0-9]+' | sort
dpkg -l | grep -E 'lsphp[0-9]+'
# Processi lsphp in esecuzione con orario di avvio
ps -eo pid,lstart,user,cmd | grep lsphp | grep -v grep
Confronti l'elenco con la configurazione: quale virtual host usa quale External App Handler? Nell'interfaccia di LiteSpeed lo trova in Server Configuration e nelle impostazioni dei virtual host. Le versioni senza assegnazione conviene comunque aggiornarle o rimuoverle.
Tenere conto di backport e fonti dei pacchetti
Se lsphp proviene da una fonte esterna, decide il suo stato dei pacchetti. Se PHP è fornito da un pannello o da una distribuzione, vale la loro indicazione. In entrambi i casi una correzione può essere distribuita come backport senza che cambi il numero di versione mostrato. Controlli quindi le note di modifica del fornitore del pacchetto e, in caso di dubbio, si faccia confermare lo stato. Il solo numero di versione non è una prova.
Riavvio: a che cosa fare attenzione con LiteSpeed
LiteSpeed può far girare PHP nella cosiddetta Detached Mode. In questo caso i processi lsphp continuano a girare indipendentemente dal web server, perché i siti rispondano più rapidamente dopo un riavvio del web server. Per un aggiornamento di sicurezza è un tranello: il web server si è riavviato, ma i vecchi processi PHP con il codice vulnerabile restano attivi.
# Riavviare il web server (percorso a titolo di esempio)
/usr/local/lsws/bin/lswsctrl restart
# Poi controllare: tutti i processi lsphp sono più recenti dell'aggiornamento?
ps -eo pid,lstart,user,cmd | grep lsphp | grep -v grep
Se un processo lsphp mostra un orario di avvio precedente all'aggiornamento, lo termini in modo mirato. LiteSpeed avvia alla richiesta successiva un nuovo processo con il codice aggiornato. Pianifichi questo passaggio al di fuori dei picchi di carico, perché dopo la prima richiesta per ogni sito può servire un po' più di tempo.
Dopo l'aggiornamento di PHP un server è aggiornato solo quando nessun processo lsphp è più vecchio dell'aggiornamento. Annoti il controllo con data e ora.
Misure transitorie fino alla patch
Se per una versione di lsphp non è ancora disponibile un pacchetto corretto, php.net raccomanda misure transitorie. Non offrono una protezione completa. Imposti i valori nel php.ini della rispettiva versione di lsphp o nella configurazione del server, non in .user.ini e non tramite ini_set().
; php.ini della versione lsphp interessata (percorso a seconda dell'installazione)
session.upload_progress.enabled = 0
post_max_size = 8M
upload_max_filesize = 6M
Con la funzione di upload, php.net indica post_max_size = 32M, con upload_max_filesize inferiore. Su PHP 8.5 si aggiunge fatal_error_backtraces=0. I limiti di memoria si impostano tramite cgroup, su CloudLinux ad esempio con i limiti ivi previsti, non tramite RLIMIT_AS o RLIMIT_DATA. Poi segue di nuovo il riavvio di tutti i processi lsphp. Altri dettagli: Misure immediate senza patch. Il BSI (l'Ufficio federale tedesco per la sicurezza informatica) raccomanda di scollegare temporaneamente dalla rete un web server se l'aggiornamento non è possibile subito.
Dopo l'aggiornamento
Una patch chiude la vulnerabilità, ma non rimuove il malware già introdotto e non prova che prima non sia successo nulla. Conservi i log di accesso a partire dal 20/10/2026 e verifichi nei siti la presenza di nuovi file PHP nelle directory di upload, account amministratore estranei e connessioni in uscita insolite. Indicazioni sul monitoraggio continuo le offre il nostro monitoraggio della sicurezza. Sui server cPanel con LiteSpeed vale la pena dare un'occhiata anche a cPanel e WHM.
Molti server LiteSpeed girano sotto un pannello di hosting come cPanel, Plesk, DirectAdmin o CyberPanel. Il pannello determina allora da quale fonte provenga lsphp e come si installino gli aggiornamenti. In questo caso esegua gli aggiornamenti tramite il pannello o le sue fonti di pacchetti e non installi in parallelo da una seconda fonte, altrimenti diventa difficile capire quale versione giri davvero. Annoti inoltre quale sito funzioni con quale versione di lsphp. Sui server con molti account cliente, questo elenco è la base per informare in modo mirato i titolari degli account e per verificare a campione, dopo l'aggiornamento, che i siti funzionino senza errori. I siti che richiedono una versione di PHP non più supportata vanno su un elenco a parte, perché per loro non arriva alcun aggiornamento ufficiale.
Come aiuta concretamente PHP SOS?
- Rileviamo tutte le versioni lsphp, le fonti dei pacchetti e le assegnazioni degli handler del Suo server.
- Tramite il servizio di patch PHP aggiorniamo, terminiamo tutti i vecchi processi lsphp e documentiamo la prova.
- Dove non è ancora disponibile un pacchetto, impostiamo i valori transitori a livello di server e limitiamo la memoria tramite cgroup.
- Verifichiamo nei siti la presenza di tracce di un attacco e salviamo i log.
Domande frequenti
LiteSpeed è interessato da PHP2Shell?
Sì. Secondo il progetto PHP, LiteSpeed rientra tra le modalità di esecuzione interessate. Le vulnerabilità si trovano in PHP stesso, che LiteSpeed esegue tramite LSAPI. Conta quindi lo stato dei pacchetti lsphp.
Perché dopo l'aggiornamento girano ancora vecchi processi lsphp?
LiteSpeed può lasciare in esecuzione i processi PHP indipendentemente dal web server, per risparmiare tempi di caricamento. A seconda della modalità, un riavvio del web server non li termina subito. Controlli quindi l'orario di avvio di tutti i processi lsphp.
Vale anche per OpenLiteSpeed?
In linea di principio sì. Anche OpenLiteSpeed usa lsphp tramite LSAPI. Percorsi, fonti dei pacchetti e interfaccia di amministrazione sono diversi, ma il principio di aggiornamento, riavvio e controllo resta lo stesso.
La cache di LiteSpeed aiuta contro la vulnerabilità?
No. Una cache di pagina serve sì alcune pagine senza PHP, ma le richieste che raggiungono PHP restano attaccabili. Una cache non sostituisce l'aggiornamento di PHP.