Gli sviluppatori del progetto PHP hanno avvertito della compromissione del repository Git del progetto e della scoperta di due commit dannosi, aggiunti il 28 marzo al repository php-src a nome di Rasmus Lerdorf, il fondatore di PHP, e Nikita Popov, uno dei principali sviluppatori di PHP.
Poiché non c'è certezza sull'affidabilità del server su cui era ospitato il repository Git, gli sviluppatori hanno deciso che il mantenimento della propria infrastruttura Git comporta rischi di sicurezza e hanno trasferito il repository di riferimento su GitHub, che si propone di usare come primario. Tutte le modifiche devono d'ora in avanti essere inviate a GitHub, e non a git.php.net, incluso l'uso dell'interfaccia web di GitHub durante lo sviluppo.
Nel primo commit dannoso, sotto le mentite spoglie di una correzione di un errore nel file ext/zlib/zlib.c, è stata introdotta una modifica che esegue codice PHP fornito nell'intestazione HTTP User Agent, se il contenuto inizia con la parola «zerodium». Dopo che gli sviluppatori hanno notato la modifica dannosa e l'hanno annullata, è apparso un secondo commit nel repository che riportava la modifica dannosa annullando l'azione degli sviluppatori PHP.
Nel codice aggiunto è presente la stringa «REMOVETHIS: venduto a zerodium, metà 2017», che può suggerire che dal 2017 ci sia nel codice un'altra modifica dannosa, camuffata in modo più sofisticato, o una vulnerabilità non corretta, venduta alla Zerodium, che si occupa dell'acquisto di vulnerabilità zero-day (la Zerodium ha risposto di non aver acquistato informazioni su vulnerabilità in PHP).
Attualmente non ci sono informazioni dettagliate sull'incidente, si presume solo che le modifiche siano state aggiunte a seguito di un attacco a git.php.net, e non per la compromissione di singole account di sviluppatori. È iniziata l'analisi del repository alla ricerca di ulteriori modifiche dannose oltre ai problemi identificati. Chiunque voglia partecipare alla revisione è invitato a farlo; se vengono riscontrate modifiche sospette, si prega di inviare informazioni a security@php.net. server git.php.net, e non la compromissione di singoli account degli sviluppatori. È iniziata l'analisi del repository per rilevare altre modifiche dannose oltre ai problemi già identificati. Sono invitati a partecipare alla revisione tutti coloro che lo desiderano; in caso di modifiche sospette, è necessario inviare informazioni a security@php.net.
Per quanto riguarda il passaggio a GitHub, per ottenere accesso in scrittura al nuovo repository, i partecipanti allo sviluppo devono entrare a far parte dell'organizzazione PHP. Coloro che non sono inclusi tra gli sviluppatori PHP su GitHub devono contattare Nikita Popov all'email nikic@php.net. L'inclusione dell'autenticazione a due fattori è un requisito obbligatorio. Dopo aver ottenuto i diritti adeguati per cambiare il repository, è sufficiente eseguire il comando «git remote set-url origin git@github.com:php/php-src.git». Si sta inoltre valutando di rendere obbligatorio il processo di firma digitale dei commit da parte degli sviluppatori. È anche proposto di vietare l'aggiunta diretta di modifiche che non hanno superato la revisione preliminare.
Fonte: opennet.ru
