Amer Owaida          30 Mar 2021 - 05:25PM

Des attaquants inconnus ont compromis le serveur Git officiel de PHP et ont planté une porte dérobée dans le code source du langage de programmation, mettant potentiellement les sites Web utilisant le code souillé en danger de prise de contrôle complète.

Les auteurs de l'attaque ont placé deux commandes malveillantes dans le dépôt php-src - l'une au nom du créateur de PHP, Rasmus Lerdorf, et l'autre imitant la signature de Nikita Popov, un développeur et mainteneur PHP bien connu. La première commande était censée corriger une coquille mineure dans le code, tandis que la seconde prétendait rétablir la correction.

« Nous ne savons pas encore comment cela s'est produit, mais tout porte à croire qu'il s'agit d'une compromission du serveur git.php.net (plutôt que d'une compromission d'un compte git individuel) », déclare Popov dans une message concernant la compromission, qui a été repérée dimanche.

S'adressant à BleepingComputer, Popov a déclaré qu'ils ont remarqué le premier commit au cours d'une revue de code post-commit de routine, et que les changements apportés au code ont été annulés immédiatement - à temps avant qu'il ne puisse être poussé dans des environnements de production. Le langage open-source côté serveur est couramment utilisé dans le développement web.

La modification du code a d'abord été remarquée par les contributeurs Markus Staab, Michael Voříšek et Jake Birchall. Voříšek a eu des doutes sur la modification du code et a demandé quelle était sa fonction, ce à quoi Birchall a répondu que la « ligne exécute du code PHP à partir de l'en-tête HTTP du user agent, si la chaîne commence par "zerodium" ».

En effet, il semble que les attaquants aient voulu mettre en cause Zerodium, une société qui se présente comme « la principale plateforme d'acquisition d'exploits pour les zero-days ». Toutefois, selon son PDG, le courtier en zero-day n'a rien à voir avec l'incident.

?s=20

À la suite de cette brèche, l'équipe de PHP a décidé d'effectuer une transition de sa propre infrastructure Git pour atténuer les risques. Selon Popov : « Bien que l'enquête soit toujours en cours, nous avons décidé que le maintien de notre propre infrastructure git constitue un risque de sécurité inutile, et que nous allons abandonner le serveur git.php.net. À la place, les dépôts sur GitHub, qui n'étaient auparavant que des miroirs, deviendront canoniques. Cela signifie que les changements doivent être poussés directement vers GitHub plutôt que vers git.php.net »

L'équipe PHP cherche maintenant à renforcer la sécurité. Alors qu'auparavant les développeurs qui souhaitaient contribuer devaient utiliser le système de karma « maison » de l'organisation, ils devront désormais devenir membres du repo GitHub de PHP et activer l'authentification à deux facteurs.

Pendant ce temps, PHP effectue un audit de sécurité de ses dépôts pour vérifier s'il n'y a pas d'autres signes de compromission ou de code malveillant au-delà de ces deux commits.