// SMARTWORLD — INTELLIGENZA ARTIFICIALE
Cos'è PHP e perché le sue ultime due falle hanno causato l'oscuramento di tanti siti in Europa e non solo
Se il 21 ottobre scorso avete provato ad accedere al sito di una prefettura italiana, di un ospedale europeo o di un ente pubblico tedesco e potreste aver trovato una pagina bianca o un messaggio di errore, non era un problema della vostra connessione. Quei siti erano stati oscurati di proposito, per precauzione, a causa di una vulnerabilità scoperta nel cuore di buona parte del web. Si chiama PHP2Shell, e capire perché fa così paura richiede prima di capire cos'è PHP.
PHP è un linguaggio di programmazione che gira sui server, cioè sui computer che ospitano i siti web. Mentre voi navigate, il vostro browser riceve pagine già pronte: è PHP che le assembla al volo, pescando dati da un database, verificando se siete loggati, mostrando i prodotti giusti nel vostro carrello. Senza PHP, buona parte del web dinamico che conosciamo semplicemente non esisterebbe.
Per capire la portata del problema, secondo W3Techs, PHP gira sul 69,3% dei siti di cui è noto il linguaggio server-side, lasciando molto indietro JavaScript (8,1%), Ruby (7,1%) e Java (5,4%).
WordPress, Drupal e Joomla, che insieme alimentano una fetta enorme del web, girano tutti su PHP. Capito ora perché la situazione sia tanto grave?
Preferisci ascoltare il riassunto audio? Abbiamo scelto una voce realizzata con strumenti avanzati IA per rendere i nostri testi subito accessibili a tutti
Il 20 ottobre il team di sicurezza di PHP ha annunciato che il giorno dopo avrebbe rilasciato una patch urgente. Il 21 ottobre, alle 16:00 ora italiana, sono arrivati gli aggiornamenti. Le falle sono due, battezzate collettivamente PHP2Shell, e l'Agenzia per la Cybersicurezza Nazionale le ha classificate entrambe come critiche, con un punteggio di gravità di 9,2 su 10.
In parole semplici: entrambe le falle riguardano il modo in cui PHP gestisce la memoria del server in situazioni di stress, come quando arrivano troppe richieste contemporaneamente. In certi casi, PHP libera un pezzo di memoria ma continua a usarlo, con risultati imprevedibili. Un attaccante che sa come sfruttare questa situazione può inviare una richiesta appositamente costruita al server e, senza nemmeno avere un account o una password, prendere il controllo del processo PHP in esecuzione.
Il risultato pratico, dimostrato dai ricercatori di Wiz Research, è che un malintenzionato può eseguire qualsiasi comando sul server di un sito WordPress, Drupal o Joomla vulnerabile. Non solo: può anche leggere dalla memoria del server dati sensibili come password, token di accesso e chiavi API, un po' come succedeva con la famosa falla Heartbleed di OpenSSL di qualche anno fa.
Ma la cosa che rende tutto ancor più complicato è un'altra: le falle in questione non colpiscono solo le versioni recenti di PHP. Sempre secondo Wiz, ogni versione rilasciata nell'ultimo decennio, fino alla 5.4, è toccata da almeno una delle due vulnerabilità. Per risolverle tutte si tratterebbe quindi di aggiornare sistemi che non vengono toccati da anni, magari per ragioni precise che impediscono un aggiornamento a versioni più recenti.
La risposta è stata immediata e, per certi versi, spettacolare. Aggiornare PHP non è semplice come premere un tasto: richiede interventi tecnici sui server, test di compatibilità, e in molti casi del tempo che semplicemente non c'era.