Les responsables du langage de programmation PHP ont publié une mise à jour concernant l’incident de sécurité qui a été révélé à la fin du mois dernier, indiquant que les acteurs peuvent avoir mis la main sur une base de données d’utilisateurs contenant leurs mots de passe pour apporter des modifications non autorisées au référentiel.
«Nous ne pensons plus que le serveur git.php.net a été compromis. Cependant, il est possible que la base de données des utilisateurs master.php.net ait fui», Nikita Popov m’a dit dans un message publié sur sa liste de diffusion le 6 avril.
Le 28 mars, des acteurs non identifiés ont utilisé les noms de Rasmus Lerdorf et Popov pour pousser des commits malveillants vers le référentiel « php-src » hébergé sur le serveur git.php.net qui impliquait l’ajout d’une porte dérobée au code source PHP dans une instance d’un attaque de la chaîne logistique logicielle.
Bien que cela ait été initialement traité comme un compromis du serveur git.php.net, une enquête plus approfondie sur l’incident a révélé que les commits étaient le résultat de les pousser à l’aide de HTTPS et d’une authentification basée sur un mot de passe, ce qui les a conduits à soupçonner une fuite possible du base de données utilisateur master.php.net.
Le support « git.php.net (intentionnellement)[s] pousser les changements non seulement via SSH (en utilisant l’infrastructure Gitolite et la cryptographie à clé publique), mais aussi via HTTPS », a déclaré Popov.« Ce dernier n’a pas utilisé Gitolite, et a utilisé à la place git-http-backend derrière Résumé Apache 2 authentification par rapport à la base de données utilisateur master.php.net.
« Il est à noter que l’attaquant ne fait que quelques suppositions sur les noms d’utilisateur et s’authentifie avec succès une fois que le nom d’utilisateur correct a été trouvé. Bien que nous n’ayons aucune preuve spécifique à ce sujet, une explication possible est que la base de données des utilisateurs de master.php .net a été divulgué, bien que l’on ne sache pas pourquoi l’attaquant aurait besoin de deviner les noms d’utilisateur dans ce cas. «
De plus, le système d’authentification master.php.net serait basé sur un système d’exploitation très ancien et une version de PHP, ce qui soulève la possibilité que les attaquants aient également exploité une vulnérabilité du logiciel pour préparer l’attaque.
En conséquence, les responsables ont migré master.php.net vers un nouveau système main.php.net avec prise en charge de TLS 1.2, en plus de réinitialiser tous les mots de passe existants et de stocker les mots de passe en utilisant bcrypt au lieu d’un simple hachage MD5.