La chain PHP2Shell raggiunge una rete affiliata al governo degli Stati Uniti
PHP2Shell è stato combinato con una vulnerabilità di privilege escalation in Linux per ottenere root access, il massimo livello di controllo del sistema, su 25 server negli Stati Uniti, in Giappone, a Taiwan e in Corea del Sud. La società israeliana di cybersecurity Dream ha dichiarato che i sistemi interessati comprendevano tre server in un ambiente affiliato al governo degli Stati Uniti. La società ha osservato l'attività il 25 ottobre 2026 e ha valutato che l'operazione fosse stata condotta da un presunto threat actor legato alla Cina, con l'assistenza di strumenti di intelligenza artificiale.
I dispositivi interessati eseguivano versioni specifiche del software firewall di un grande vendor non identificato. Un firewall controlla quale traffico di rete può entrare o uscire da un'organizzazione. Dream ha dichiarato di aver informato il vendor, senza però rivelarne l'identità. Dopo aver compromesso i firewall, l'attaccante si è diretto verso Active Directory, il sistema Microsoft per gestire utenti, computer e permessi di accesso di un'organizzazione. Gli artefatti recuperati hanno mostrato tentativi di estrarre credenziali ed eseguire l'enumeration della directory, cioè elencare gli account e le altre informazioni disponibili sulle identità.
L'attacco ha combinato tre vulnerabilità. PHP2Shell è costituito da CVE-2026-109618 e CVE-2026-109619, entrambe valutate 9,2 secondo il Common Vulnerability Scoring System, una scala che indica la gravità di una vulnerabilità di sicurezza. Le due vulnerabilità PHP possono consentire remote code execution senza autenticazione, permettendo a un soggetto esterno di eseguire comandi senza prima effettuare l'accesso. Fragnesia, identificata come CVE-2026-46300 e valutata 7,8, è una vulnerabilità di local privilege escalation nel Linux kernel, la parte centrale del sistema operativo. È stata utilizzata per trasformare l'accesso iniziale in controllo root.
Dream ha scoperto che il componente PHP2Shell era un'implementazione personalizzata e non pubblica, anziché una copia di un exploit pubblico già noto. Pur seguendo la stessa tecnica di base, sembrava essere stato sviluppato in modo indipendente e adattato alla piattaforma firewall presa di mira. Attaccava la funzionalità session.upload_progress di PHP sul server di gestione appweb del firewall. Il sistema operativo utilizzava PHP 8.0.30 con un limite di memoria elevato, che rendeva possibili le fasi di memory corruption dell'exploit, durante le quali il software viene indotto a gestire in modo errato i dati conservati in memoria.
L'operazione ricostruita è iniziata con lo sviluppo dell'exploit in un ambiente di laboratorio. L'attaccante ha quindi utilizzato FOFA per individuare circa 19.000 firewall esposti a internet le cui interfacce di gestione erano accessibili. Uno scanner personalizzato ha verificato quali dispositivi fossero online e quali versioni del sistema operativo eseguissero, ricevendo informazioni sulla versione da circa 5.000 sistemi. L'elenco è stato ristretto ai sistemi negli Stati Uniti, in Giappone, a Taiwan e in Corea del Sud, quindi ai branch di release più recenti che utilizzavano PHP 8.0.30. Il risultato è stato un insieme di 240 target.
Un batch tool automatizzato ha eseguito la chain PHP2Shell e Fragnesia contro questi target. Ha inserito una web shell PHP, un file malevolo che accetta comandi da remoto, all'interno di una directory del firewall accessibile pubblicamente. Il tool ha verificato la presenza di root access e registrato l'hostname e l'indirizzo IP di ciascun target in un file CSV. Questa fase automatizzata ha ottenuto root access su 24 server. Due appartenevano a un'organizzazione affiliata al governo degli Stati Uniti. Uno è andato in crash poco dopo la compromissione, alle 18:14 UTC del 23 ottobre 2026, e non è più tornato online. Una successiva campagna mirata ha ottenuto root access sul secondo sistema alle 10:09 UTC del 24 ottobre.
L'attaccante ha utilizzato quel secondo firewall per stabilire un accesso persistente alla rete interna tramite un reverse SSH tunnel. Si tratta di una connessione cifrata avviata dal sistema compromesso verso un'infrastruttura controllata dall'operatore. Alle 11:35 UTC, lo stesso approccio ha compromesso un terzo server governativo, un sistema interno di gestione dei firewall raggiungibile esclusivamente attraverso il tunnel. Ciò ha portato a 25 il numero totale di server con root access.
Da lì, l'operazione ha preso di mira Active Directory. Ha tentato di decifrare la password di un account di servizio LDAP, dove LDAP è un protocollo utilizzato per accedere alle informazioni di directory, e ha poi elencato gli utenti. L'attaccante ha inoltre eseguito password spraying, provando un piccolo insieme di password ispirate all'organizzazione su ogni account utente, e ha tentato di creare account backdoor in Active Directory. Dream non ha potuto determinare se siano state ottenute credenziali valide o se tali account aggiuntivi siano stati creati con successo; pertanto, la portata completa della violazione rimane sconosciuta.
Tra le prove di uno sviluppo assistito dall'intelligenza artificiale figuravano Anthropic's Claude Code installato nell'infrastruttura di attacco, API key per FOFA e una piattaforma di offensive security chiamata aiscan. La piattaforma era configurata con large language models di DeepSeek e Kimi. Dream ha inoltre indicato la struttura, i commenti e lo stile uniforme di quasi 40 script come segnali del fatto che l'intelligenza artificiale abbia potenziato il processo di sviluppo. Questi risultati indicano un'assistenza nella realizzazione dei tool, ma non dimostrano di per sé che l'operazione fosse autonoma.
Dream ha collegato il presunto legame con la Cina all'attenzione deliberata verso Stati Uniti, Giappone, Taiwan e Corea del Sud, descritti come importanti obiettivi di intelligence per le operazioni allineate allo Stato cinese nel Pacifico. L'attribuzione rimane una valutazione e non un'identità confermata. Dream ha inoltre valutato che altri 22 firewall compromessi fossero rimasti in attesa con web shell attive, che la connessione persistente all'interno dell'organizzazione statunitense fosse probabilmente ancora operativa e che l'operatore conservasse i dettagli di circa 19.000 sistemi, sui quali avrebbe potuto tornare dopo aver sviluppato il supporto per ulteriori versioni del sistema operativo.
Lo sfruttamento pubblico di PHP2Shell era stato altrimenti limitato. Secondo quanto riportato e attribuito a Flare, un membro di un forum XSS ha affermato che il codice proof-of-concept pubblico era difficile da trasformare in un attacco affidabile, perché i target reali richiedono offset da libphp.so, un file di libreria PHP, e tali offset variano tra le diverse build. Il membro del forum ha affermato che la riproduzione era fattibile su un sistema di test o quando il filesystem del target era già accessibile, ma non facilmente contro sistemi arbitrari. La build personalizzata descritta da Dream sembra aver superato questo ostacolo per la specifica piattaforma firewall.
Per le organizzazioni che stanno valutando i sistemi di gestione esposti e i rischi più ampi per l'infrastruttura, AEU-I offre servizi IT, infrastruttura e consulenza con la sicurezza al primo posto. L'incidente dimostra perché le interfacce amministrative non debbano essere lasciate accessibili pubblicamente senza una chiara necessità operativa e perché un dispositivo perimetrale compromesso debba essere considerato una possibile via d'accesso ai sistemi di identità, anziché un problema isolato di una singola appliance.