Vendredi, le service d’hébergement de référentiels basé sur le cloud GitHub a partagé des détails supplémentaires sur le vol de jetons OAuth d’intégration GitHub le mois dernier, notant que l’attaquant a pu accéder aux données NPM internes et à ses informations client.
« En utilisant des jetons d’utilisateur OAuth volés provenant de deux intégrateurs tiers, Heroku et Travis CI, l’attaquant a pu escalader l’accès à l’infrastructure NPM », a déclaré Greg Ose. a ditajoutant que l’attaquant a ensuite réussi à obtenir un certain nombre de fichiers –
- Une sauvegarde de la base de données de skimdb.npmjs.com composée de données au 7 avril 2021, y compris une archive des informations utilisateur de 2015 et tous les manifestes et métadonnées de package NPM privés. L’archive contenait les noms d’utilisateur NPM, les hachages de mots de passe et les adresses e-mail d’environ 100 000 utilisateurs.
- Un ensemble de fichiers CSV comprenant une archive de tous les noms et numéros de version des versions publiées de tous les packages privés NPM au 10 avril 2022, et
- Un « petit sous-ensemble » de packages privés de deux organisations
En conséquence, GitHub prend l’initiative de réinitialiser les mots de passe des utilisateurs impactés. Il est également prévu d’informer directement les utilisateurs des manifestes de packages privés exposés, des métadonnées et des noms et versions des packages privés au cours des prochains jours.
La chaîne d’attaque, telle que détaillée par GitHub, impliquait que l’attaquant abusait des jetons OAuth pour exfiltrer des référentiels NPM privés contenant des clés d’accès AWS, puis les exploitait pour obtenir un accès non autorisé à l’infrastructure du registre.
Cela dit, aucun des packages publiés dans le registre n’aurait été modifié par l’adversaire et aucune nouvelle version de packages existants n’a été téléchargée dans le référentiel.
De plus, la société a déclaré que l’enquête sur l’attaque de jeton OAuth a révélé un problème sans rapport qui impliquait la découverte d’un « nombre non spécifié d’informations d’identification d’utilisateur en clair pour le registre npm qui ont été capturées dans les journaux internes suite à l’intégration de npm dans les systèmes de journalisation GitHub ».
GitHub a noté qu’il avait atténué le problème avant la découverte de la campagne d’attaque et qu’il avait purgé les journaux contenant les informations d’identification en clair.
Le vol OAuth, que GitHub a découvert le 12 avril, concernait un acteur non identifié profitant de jetons d’utilisateur OAuth volés délivrés à deux intégrateurs OAuth tiers, Heroku et Travis-CI, pour télécharger des données de dizaines d’organisations, dont NPM.
La filiale appartenant à Microsoft, plus tôt ce mois-ci, a qualifié la campagne de « hautement ciblée » par nature, ajoutant que « l’attaquant répertoriait uniquement les organisations afin d’identifier les comptes à cibler de manière sélective pour répertorier et télécharger des référentiels privés ».
Heroku a depuis reconnu que le vol de jetons OAuth d’intégration GitHub impliquait en outre un accès non autorisé à une base de données client interne, incitant l’entreprise à réinitialiser tous les mots de passe des utilisateurs.