Oggi alle 16:00, ora italiana, il team di sviluppo di PHP pubblicherà un aggiornamento di sicurezza per correggere due vulnerabilità classificate come critiche. Secondo i ricercatori che le hanno analizzate, consentirebbero a un malintenzionato di assumere il controllo di un server web da remoto. L'annuncio è arrivato in anticipo rispetto al rilascio perché alcune informazioni sulle falle sono trapelate online prima della data concordata.
PHP è il motore silenzioso di gran parte del web: lavora lato server, recupera i dati da un archivio e compone ciò che vediamo nel browser a ogni richiesta di pagina. Su di esso girano il carrello di un e-commerce, l'area riservata di un'associazione, il modulo di prenotazione di un ristorante, ma anche WordPress e Wikipedia. Secondo W3Techs lo impiega circa il 69% dei siti di cui è noto il linguaggio. Nato a metà degli anni Novanta come "Personal Home Page", oggi la sigla sta per "PHP: Hypertext Preprocessor".
Punteggio 9.2 e attacco senza autenticazione
Le due falle hanno ottenuto un punteggio di 9,2 nel CVSS, la scala da 0 a 10 che misura la gravità delle vulnerabilità: si tratta quindi di difetti gravissimi. La società di sicurezza watchTowr le descrive come falle di esecuzione di codice da remoto (RCE), che permetterebbero a un attaccante di far eseguire al server istruzioni proprie, per esempio per sottrarre dati o installare programmi dannosi. Secondo il CERT-EU, la struttura di cybersicurezza delle istituzioni europee, sarebbe possibile riuscirci anche senza autenticarsi.
A complicare il quadro sono anche i tempi. La divulgazione era prevista per giovedì, ma martedì pomeriggio un utente di Hacker News ne ha anticipato l'esistenza e i codici identificativi. watchTowr ha confermato che le falle sono reali e PHP ha anticipato la correzione di un giorno. Nella notte alcuni ricercatori hanno dichiarato di aver riprodotto l'attacco, con un breve video dimostrativo pubblicato e poi rimosso, ma per il momento non risultano attacchi in corso.
Il nodo delle versioni datate
Secondo la giapponese GMO Flatt Security il difetto riguarderebbe una funzione attiva di default che registra l'avanzamento dei file caricati: disattivarla potrebbe ridurre il rischio, ma la stessa società non garantisce che basti. PHP non ha ancora indicato quale parte del codice sia coinvolta. La situazione è più delicata per chi usa versioni datate: alcuni ricercatori sostengono che il problema risalga fino a PHP 5, ma le correzioni vengono pubblicate solo per le versioni supportate, oggi dalla 8.2 alla 8.5. Se la patch non venisse estesa, secondo un conteggio di Mallory su Shodan circa 884.000 server resterebbero esposti. Gli utenti finali non dovranno fare nulla, se non sperare che gestori dei siti e hosting aggiornino PHP dalle 16:00 di oggi.