LiteSpeed cPanel CVE-2026-48172: quando un tenant diventa root su tutti i siti che ospiti
CVSS 10.0, sfruttata in the wild come zero-day, aggiunta al CISA KEV il 26 maggio con scadenza federale 29 maggio. Il vero problema è il blast radius dello shared hosting — e il ciclo di pentest trimestrale non riesce a vederlo arrivare.
Il 2026-05-26 CISA ha aggiunto CVE-2026-48172 al Known Exploited Vulnerabilities catalog. Le agenzie federali statunitensi (FCEB) hanno tempo fino al 2026-05-29 — domani — per rimediare. La CVE colpisce il plugin user-end cPanel di LiteSpeed, è stata sfruttata come zero-day almeno da metà maggio, e l'advisory ufficiale LiteSpeed è uscito solo il 2026-05-21. La patch è esistita per cinque giorni prima che il regolatore imponesse la scadenza.
È una finestra strettissima per una CVE che vale 9.8 su CVSS v3.1 e 10.0 su CVSS v4.0. Ma il punteggio non è la parte interessante. La parte interessante è cosa succede a tutti gli altri account cPanel quando uno solo viene compromesso sullo stesso server — e perché il ciclo di pentest trimestrale che la maggior parte degli hosting provider esegue oggi non riesce a rilevare questa classe di esposizione tra una sessione e l'altra.
Cosa fa esattamente il bug
CVE-2026-48172 è un caso da manuale di CWE-266 — assegnazione errata di privilegi. La falla è nella funzione lsws.redisAble, quella che il plugin LiteSpeed usa per abilitare o disabilitare la cache Redis per il sito di un tenant. La funzione è raggiungibile dalla JSON API di cPanel:
cpanel_jsonapi_func=redisAble
Qualunque utente cPanel autenticato — un normale tenant del piano shared, un attaccante con credenziali tenant trapelate, oppure chiunque abbia phishato un cliente dell'hosting provider — può invocare quell'endpoint ed eseguire script arbitrari come root. Non c'è alcun controllo di privilegio tra "questo utente può gestire la propria cache Redis sul proprio account" e "questo utente può eseguire qualunque cosa come root sull'host". (Analisi tecnica Rescana, The Hacker News)
Le versioni vulnerabili sono dalla 2.3 alla 2.4.4 del plugin cPanel LiteSpeed, risolte nella 2.4.7+ (inclusa nel plugin WHM 5.3.1.0). cPanel ha fatto un passo in più rimuovendo il plugin vulnerabile da tutte le versioni disponibili il 2026-05-19 — due giorni prima dell'advisory ufficiale — perché la via di accesso root non autorizzato era talmente grave. (SecurityWeek)
La CVE è registrata da MITRE come CNA, con la scheda NVD che riporta sia il vettore 3.1 che il 4.0. Il punteggio 10.0 di CVSS v4.0 cattura ciò che il 3.1 perde: l'impatto sui sistemi successivi. Una volta ottenuto root sul nodo di hosting, ogni altro tenant su quel nodo è un sistema successivo.
Il blast radius dello shared hosting
Qui l'articolo si stacca dal classico advisory "patchate prima possibile". Il modello mentale più pulito per descrivere la CVE LiteSpeed è questo:
Un tenant paga 4€/mese per un piano di shared hosting. Si registra, riceve un login cPanel, e smette di accedere due settimane dopo. Le sue credenziali finiscono in una lista di credential stuffing sei mesi dopo. Un attaccante opportunistico si autentica, manda una sola richiesta HTTP a
cpanel_jsonapi_func=redisAble, e adesso ha root su un server che ospita trecento altri tenant — i loro WordPress, i loro database, i token di pagamento memorizzati, le loro caselle di posta. Il tenant da 4€ non ha fatto nulla di diverso dal solito. L'hosting provider non ha fatto nulla di sbagliato. Tutti gli altri tenant su quel nodo hanno appena perso l'isolamento cross-tenant.
Questo è il pattern d'attacco di CVE-2026-48172, ed è esattamente ciò che è stato osservato in the wild prima del rilascio della patch. Rescana descrive gli attori come opportunistici — nessuna APT, nessuna campagna mirata, solo scansione di host con il plugin installato e tentativi con qualunque credenziale tenant disponibile. Gli hosting provider colpiti non sono stati scelti per chi sono; sono stati scelti per cosa fanno girare.
L'economia dello sfruttamento opportunistico contro lo shared hosting è brutale. Alcuni numeri da tenere a mente:
| Variabile | Numero |
|---|---|
| Hosting provider che offrono cPanel/WHM (Datanyze) | ~64% |
| Quota di rilevamento cPanel sui siti con panel identificabile (W3Techs, aprile 2026) | ~2.1% |
| Giorni tra l'advisory LiteSpeed (2026-05-21) e la scadenza CISA KEV (2026-05-29) | 8 |
| Giorni di sfruttamento zero-day attivo prima della patch | sconosciuti, "in the wild" secondo LiteSpeed e CISA |
Le percentuali di rilevamento sembrano piccole finché non ci si ricorda che cPanel è concentrato nella fascia budget del shared hosting — esattamente il segmento dove un singolo host compromesso può portare con sé centinaia di tenant. Una quota globale del 2.1% sui siti si traduce in una popolazione molto più ampia di singoli tenant i cui dati e la cui reputazione stanno su un nodo che non amministrano.
Perché è diversa da una CVE normale
Tre cose rendono CVE-2026-48172 peggiore di un tipico RCE in software ampiamente diffuso.
Primo, il gradiente di privilegio è invisibile al tenant. Un normale RCE su plugin WordPress compromette un sito. Il blast radius coincide col modello mentale del tenant — il mio sito è rotto, i miei dati sono trapelati. CVE-2026-48172 compromette l'host, che sta un livello amministrativo sopra ciò con cui il tenant interagisce. Il tenant non può patchare. Il tenant non può rilevare. Il tenant è esposto e non ha alcun mezzo per agire.
Secondo, il requisito di autenticazione è banalmente soddisfacibile. "Utente cPanel autenticato" non è una barriera significativa quando uno shared host ospita centinaia di utenti, quando il riutilizzo di password da vecchi data breach è endemico, e quando molti tenant non hanno mai abilitato la 2FA su un control panel a cui entrano due volte all'anno. Qualunque run di credential stuffing opportunistico già raccoglie questa superficie di accesso come effetto collaterale.
Terzo, la catena di patch coinvolge tre parti. LiteSpeed rilascia il plugin, cPanel mantiene la piattaforma che lo carica, e l'hosting provider opera il nodo. Tra disclosure (2026-05-21), rimozione del plugin da parte di cPanel (2026-05-19, in anticipo sulla disclosure), e rollout effettivo del provider, ci sono almeno tre finestre di cambiamento in cui un cliente che lunedì sembra conforme è esposto martedì per via di un cambio di stato a monte. È il tipo di problema temporale che un pentest esterno trimestrale non osserverà mai, e che gli audit di conformità registreranno al massimo a posteriori.
Perché il ciclo trimestrale manca completamente questa classe di problemi
Un ingaggio di pentest pianificato sei mesi prima, eseguito in una finestra di quattro settimane, e riportato un mese dopo, ha zero sovrapposizione con le finestre da 1-7 giorni che contano per CVE come la 2026-48172. Il modello che gli operatori hosting e MSP hanno ereditato dal mondo enterprise regolamentato — si fa pentest una volta l'anno, due per le parti regolamentate — è strutturalmente incompatibile con il modello di minaccia con cui convivono davvero.
Tre fallimenti concreti, tutti osservati:
- L'audit è stato fatto a marzo. La CVE è uscita a maggio. L'auditor ha firmato lo stato di marzo. L'auditor firmerà di nuovo il prossimo marzo. Nel mezzo, non c'è alcuna dichiarazione continua di esposizione da poter presentare a un tenant, a un assicuratore, o a un regolatore.
- Lo scope del pentest non includeva il plugin. I pentest sul perimetro esterno sondano la superficie d'ascolto ma raramente testano la JSON API cPanel come tenant autenticato. La CVE era raggiungibile da un tenant autenticato — esattamente il bucket che la maggior parte dei test esterni esclude deliberatamente dallo scope.
- L'evidenza di remediation è uno screenshot. Quando il tenant o il regolatore chiede quando avete rimediato, la risposta è qualunque cosa l'hosting provider riesca a ricostruire da un ticket CRM e dal timestamp dell'aggiornamento del plugin WHM. Non c'è una catena di evidenza firmata. Per un MSP che porta obblighi NIS2 o DORA per conto dei clienti a valle, quel gap è la parte rumorosa.
Cosa cambia con la validazione continua guidata dall'AI
La validazione continua ribalta tutti e tre i punti sopra. Invece di una finestra annuale in cui qualcuno definisce lo scope e poi testa, la validazione gira come processo di sfondo contro il perimetro vivo e contro il layer tenant vivo, e si attiva ogni volta che qualcosa cambia nell'inventory. Una nuova versione del plugin LiteSpeed installata su un nodo? È un evento change-trigger. Una nuova entry CISA KEV che si sovrappone all'inventory degli asset? È un evento change-trigger. Uno dei due è sufficiente a lanciare una campagna fresca entro l'ora.
È il modello operativo su cui è costruita la piattaforma Zero Hunt. Le capability rilevanti per lo scenario LiteSpeed, ancorate alla realtà ingegneristica e non a una brochure:
- Lo swarm di 10 agenti AI — Recon, Exploit, Web, Credential, Post-Exploit, Pivot, Tactic, Report, più l'AI Controller — produce una catena di exploit fresca per target. L'agente Web è quello che avrebbe sondato la JSON API cPanel come tenant autenticato. Gli agenti Post-Exploit e Pivot sono quelli che dimostrano il blast radius cross-tenant — atterrando sull'host come root ed enumerando cos'altro è raggiungibile da quel punto di pivot.
- La catena di exploit è generata da un LLM locale sull'appliance, non scaricata da ExploitDB. Significa che il giorno in cui è uscito l'advisory LiteSpeed, il corpus di backtest dell'AI Gym poteva assorbire la nuova tecnica contro le sue safe practice range (Vulhub, NYU CTF Bench, Cybench) prima che lo swarm di produzione la eseguisse contro un ambiente cliente.
- Ogni exploit gira in un container Docker effimero, con hardening gVisor opzionale. L'infrastruttura di hosting del cliente è toccata solo a livello rete/applicazione; l'OS host dell'appliance non è esposto.
- I finding sono firmati ECDSA al momento della scrittura e mappati sui 32 framework di conformità supportati — NIS2 (incluso il Titolo 13 sull'incident reporting), DORA, ISO 27001, SOC 2, PCI-DSS, più gli altri. Per un hosting provider o un MSP che porta obblighi a valle, quella è la catena di evidenza che trasforma "abbiamo patchato entro la scadenza" in "ecco la catena firmata che prova quando abbiamo rilevato e quando abbiamo rimediato" — verificabile anni dopo.
- Tutto questo gira on-prem sull'appliance. Nessun callback verso il cloud, nessuna API LLM esterna, nessun dato cliente che esce dal perimetro cliente. Per i clienti con vincoli di sovranità del dato — UE, Golfo, finance regolamentato — questo è non negoziabile.
L'osservazione finale è poco glamour. CVE-2026-48172 è, tecnicamente, un controllo di privilegio da quindici righe che mancava. Il blast radius è ciò che la rende un evento di livello regolatorio. Il fatto che un attore opportunistico possa compromettere un host prima che l'operatore finisca il caffè è ciò che rende il modello operativo — continuo, validato, evidenziato — l'unico compatibile con la minaccia. Il pentest trimestrale, in questa classe di incidenti, non è semplicemente lento. Sta guardando il momento sbagliato.
Per il posizionamento di Zero Hunt rispetto a questo scenario, vedi la panoramica della piattaforma e il confronto con il tooling di pentest legacy. Per un angolo adiacente su come la stessa carenza stia emergendo sotto la scadenza del primo audit NIS2, vedi il post recente Prima scadenza audit NIS2.