I programmatori del progetto PHP hanno avvertito della compromissione del repository Git del progetto e della scoperta di due commit dannosi, aggiunti il 28 marzo nel repository php-src a nome di Rasmus Lerdorf, fondatore di PHP, e Nikita Popov, uno dei principali sviluppatori di PHP.
Poiché non c'è fiducia nell'affidabilità del server su cui era ospitato il repository Git, i programmatori hanno deciso che mantenere la propria infrastruttura Git comportava ulteriori rischi per la sicurezza e hanno trasferito il repository di riferimento sulla piattaforma GitHub, che si propone di utilizzare come primaria. Tutte le modifiche dovranno d'ora in poi essere inviate su GitHub, e non su git.php.net, inclusa la possibilità ora di utilizzare l'interfaccia web di GitHub durante lo sviluppo.
Nel primo commit dannoso masquerato da correzione di un errore nel file ext/zlib/zlib.c è stata introdotta una modifica che esegue codice PHP passato 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 ha annullato l'azione degli sviluppatori PHP e ha ripristinato la modifica pericolosa.
Nel codice aggiunto è presente la stringa "REMOVETHIS: sold to zerodium, mid 2017", che potrebbe suggerire che dal 2017 nel codice ci sia un'altra modifica dannosa ben camuffata o una vulnerabilità non corretta, venduta all'azienda Zerodium, che si occupa di acquisire vulnerabilità 0-day (l'azienda Zerodium ha risposto che non ha acquistato informazioni sulla vulnerabilità in PHP).
Attualmente non ci sono dettagli specifici sull'incidente, si suppone solo che le modifiche siano state aggiunte a seguito di un attacco. server git.php.net, e non a causa della compromissione di singole account di sviluppatori. È iniziata l'analisi del repository per cercare altre modifiche malevole oltre ai problemi identificati. Tutti sono invitati a partecipare alla revisione; se vengono trovate modifiche sospette, si prega di inviare le informazioni a security@php.net.
Per quanto riguarda il passaggio a GitHub, per ottenere l'accesso in scrittura al nuovo repository, i membri del team di sviluppo devono entrare a far parte dell'organizzazione PHP. Coloro che non sono inclusi tra gli sviluppatori PHP su GitHub devono contattare Nikita Popov via email all'indirizzo nikic@php.net. È obbligatorio avere l'autenticazione a due fattori attivata. Una volta ottenuti i diritti appropriati, per cambiare il repository è sufficiente eseguire il comando «git remote set-url origin git@github.com:php/php-src.git». Inoltre, si sta valutando la possibilità di rendere obbligatoria la firma digitale per i commit degli sviluppatori. Si propone anche di vietare l'aggiunta diretta di modifiche che non siano state sottoposte a revisione preventiva.
Fonte: opennet.ru
