Codice malevolo scoperto nel server PHP Git, era una backdoor

I gestori di server git.php.net hanno rintracciato righe di codice malevolo che avrebbero installato backdoor nei server di destinazione.

Autore: Redazione SecurityOpenLab

Domenica il server git.php.net è stato violato con l'inserimento di codice maligno dannoso in due commit, firmati con i nomi dei due sviluppatori e manutentori del server, Rasmus Lerdorf e Nikita Popov. L'intento era quello di scatenare un attacco alla supply chain con una tecnica molto simile a quella impiegata con Solar Winds: infettare decine di migliaia di server. PHP, infatti, è il linguaggio di programmazione lato server usato nel 79 percento dei siti web online in tutto il mondo.

Però questa volta è andata male. Può essere che l'attacco sia stato meno raffinato di quello contro Solar Winds. Oppure che dopo quanto accaduto l'attenzione sia comprensibilmente più alta verso qualsiasi minima modifica del codice. Sta di fatto che i commit dannosi sono stati inseriti con il pretesto del "fix typo", ossia cercando di farli passare come secondarie correzioni tipografiche.

Invece che lasciare passare inosservata la modifica, i responsabili hanno controllato per bene. Secondo la ricostruzione dei colleghi di BleepingComputer, si è scoperto che la linea 370 che era stata aggiunta chiamava la funzione zend_eval_string.  Si tratta di un codice che installa una backdoor in modo da poter eseguire facilmente del codice da remoto (RCE) su qualunque sito web fosse stato importato il codice rimaneggiato.
Nikita Popov ha scoperto il primo commit un paio d'ore dopo che è era stato creato. Era firmato come se fosse stato generato dall'altro gestore del sito, Rasmus Lerdorf e la riga di codice eseguiva codice PHP dall'interno dell'intestazione HTTP useragent, se la stringa iniziava con "zerodium". Quest'ultimo è il nome di un'azienda di cybersecurity del tutto estranea ai fatti.

Gli insegnamenti di questo incidente


Tutto si è concluso per il meglio. Tuttavia questo episodio è l'ennesima riconferma di quanto sia semplice firmare un commit a nome di qualcun altro e caricarlo su un server Git remoto. Alla luce dell'accaduto i gestori di server git.php.net hanno annunciato il trasferimento di tutto il materiale su GitHub perché "mantenere la nostra infrastruttura Git è un rischio non necessario", ha scritto Popov in un post ufficiale.

Il cambio di rotta comporta che d'ora in poi tutti coloro che sono interessati a contribuire al progetto PHP dovranno essere registrati su GitHub, il che comporta l'attivazione dell'autenticazione a due fattori (2FA) sul proprio account GitHub.
In ogni caso quanto accaduto è meritevole di indagini, che sono tuttora in corso. Quello che c'è da capire è se la pubblicazione del codice malevolo sia avvenuta a seguito di una compromissione del server oppure dell'account Git di una delle persone autorizzate. Intanto i programmatori stanno passando al setaccio ogni riga di codice per sincerarsi che i due commit scoperti domenica siano gli unici malevoli presenti e che non sia stato distribuito alcun codice dannoso in precedenza.

Il rischio sembrerebbe scongiurato dal fatto che le modifiche riguardavano lo sviluppo di PHP 8.1, che dovrebbe essere rilasciato alla fine dell'anno.

Visualizza la versione completa sul sito

Informativa
Questo sito o gli strumenti terzi da questo utilizzati si avvalgono di cookie necessari al funzionamento ed utili alle finalità illustrate nella cookie policy. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie, consulta la cookie policy. Chiudendo questo banner, acconsenti all’uso dei cookie.