La vulnerabilità PHP2Shell si può sfruttare davvero, anche su un server preparato apposta per resistere: lo dimostra la sfida Steal My Bitcoin, lanciata dal ricercatore James Pavur e vinta il 25 ottobre 2026 da un pentester britannico, Jaydip Modhwadia, noto online come “Killa”. Su un server con PHP 8.4.26, una versione precedente alle correzioni, è riuscito a eseguire codice da remoto e a ottenere la chiave di un wallet Bitcoin, aggiudicandosi un premio di circa 2.000 dollari. Lo riportano The Register, Cybernews e CryptoSlate.

Come è nata la sfida su PHP2Shell
Le falle CVE-2026-109618 e CVE-2026-109619 sono state corrette dal team di PHP il 21 ottobre, come avevamo raccontato nell’articolo su le due falle critiche di PHP. Secondo The Register, Pavur ha lanciato la sfida il 24 ottobre per verificare se lo sfruttamento fosse davvero facile come sostenevano molti nella comunità della sicurezza: chi fosse riuscito a eseguire codice sul suo server avrebbe ricevuto i bitcoin custoditi lì. Il premio iniziale era di circa 500 dollari ed è poi salito a circa 2.000 grazie alle donazioni.
All’inizio, però, il sito serviva solo pagine HTML statiche, una configurazione che secondo diversi partecipanti non permetteva l’attacco. Pavur ha ammesso il problema e, intorno alle 13 UTC del 25 ottobre, ha aggiunto una pagina PHP raggiungibile. L’esecuzione di codice è arrivata alle 15:47 UTC, meno di tre ore dopo: per questo, pur indicando 19,28 ore sul sito, il tempo effettivo è stato molto più breve. Modhwadia ha spiegato a The Register di averci lavorato “circa tre ore in totale”.
Come funziona l’exploit pubblicato
Il vincitore ha pubblicato su GitHub una descrizione dettagliata e uno script Python che, secondo lui, richiede al massimo 20 richieste HTTP. In sintesi, un caricamento di file costruito ad arte fa esaurire la memoria a PHP durante l’elaborazione dell’avanzamento dell’upload; i resti lasciati in memoria permettono di far trapelare, tramite i cookie di sessione, gli indirizzi necessari ad aggirare le protezioni del sistema operativo, e una richiesta finale porta PHP a eseguire un comando di sistema. Lo stesso autore riconosce alcuni limiti nella documentazione dell’attacco originale, che è stato in parte ricostruito in seguito.
C’è stato anche un imprevisto: la chiave recuperata non corrispondeva al wallet del premio, perché Pavur aveva caricato sul server la chiave sbagliata. Il ricercatore ha verificato l’attacco nei log e ha pagato il premio di tasca propria. CryptoSlate osserva inoltre che le prove pubblicate non dimostrano che l’attacco sia stato condotto in autonomia da un sistema di intelligenza artificiale.
Cosa significa per chi gestisce server PHP
La sfida conferma che le falle PHP2Shell sono sfruttabili in pratica, come già indicavano i server esca che hanno registrato 35 shell e l’inserimento nel catalogo della CISA delle vulnerabilità sfruttate. Con un exploit pubblico disponibile, il rischio per i server non aggiornati cresce. In Italia, secondo l’ACN, è potenzialmente vulnerabile l’81,9% dei servizi PHP individuati.
- Aggiornare PHP alle versioni corrette rilasciate dal 21 ottobre, anche quando PHP è incluso in pannelli di hosting, container o immagini di sistema.
- Chiedere conferma al proprio provider di hosting che l’aggiornamento sia stato applicato.
- Controllare i log del server web alla ricerca di caricamenti anomali, errori di memoria esaurita ripetuti e processi o file sconosciuti.
- Se il server non è aggiornato da tempo, valutare una verifica completa di compromissione e il cambio delle credenziali salvate sul sistema.
Fonti: The Register, Cybernews, CryptoSlate, Steal My Bitcoin, KillaBoi su GitHub.









Scrivi una risposta