GitHub a révélé les détails d’une faille de sécurité qui a permis à un attaquant inconnu de télécharger des données à partir de dizaines de référentiels de code privés.

L’attaquant s’est authentifié auprès de l’API GitHub à l’aide de jetons d’utilisateur OAuth volés délivrés à deux intégrateurs OAuth tiers – Heroku et Travis-CI.

Dans la plupart des cas où les applications Heroku ou Travis CI OAuth concernées étaient autorisées dans les comptes GitHub des utilisateurs, l’attaquant répertoriait toutes les organisations de l’utilisateur avant de sélectionner des cibles.

Plus précisément, l’attaquant a répertorié les référentiels privés pour les comptes d’utilisateurs d’intérêt, puis a procédé au clonage de certains de ces référentiels privés.

« En examinant l’ensemble de la plate-forme GitHub, nous sommes convaincus que les jetons d’utilisateur OAuth compromis des applications OAuth gérées par Heroku et Travis CI ont été volés et abusés pour télécharger des référentiels privés appartenant à des dizaines d’organisations victimes qui utilisaient ces applications », GitHub a mis en garde dans un article de blog.

« Notre analyse d’autres comportements de l’acteur de la menace suggère que les acteurs peuvent exploiter le contenu du référentiel privé téléchargé, auquel le jeton OAuth volé avait accès, à la recherche de secrets qui pourraient être utilisés pour faire pivoter [attacks] dans d’autres infrastructures.

Chronologie

GitHub a découvert la brèche le 12 avril, lorsque l’attaquant a accédé à l’infrastructure de production npm de GitHub, et a révélé la brèche trois jours plus tard.

Avec Heroku et Travis CI, GitHub a révoqué tous les jetons OAuth pour bloquer tout accès ultérieur, tout en conseillant aux organisations concernées de continuer à surveiller les activités suspectes.

Travis CI dit qu’il ne croit pas que l’incident présente un risque pour les clients. « Le pirate a piraté un service Heroku et a accédé à une clé OAuth d’application privée utilisée pour intégrer l’application Heroku et Travis CI.

« Cette clé ne donne accès à aucun référentiel client Travis CI ni à aucune donnée client Travis CI », a-t-il déclaré dans un article de blog.

« Nous avons enquêté de manière approfondie sur ce problème et n’avons trouvé aucune preuve d’intrusion dans un référentiel client privé (c’est-à-dire le code source) car la clé OAuth volée lors de l’attaque Heroku ne fournit pas ce type d’accès. »

Heroku conseille aux clients qui voient des preuves d’exfiltration dans leurs journaux de vérifier les référentiels pour toutes les informations d’identification qui pourraient avoir été compromises, et d’atténuer l’accès en désactivant les comptes et en faisant pivoter les informations d’identification si nécessaire. Il recommande également de révoquer ou de faire pivoter toutes les informations d’identification exposées.

« Pour la protection de nos clients, nous ne nous reconnecterons pas à GitHub tant que nous ne serons pas certains de pouvoir le faire en toute sécurité, ce qui peut prendre un certain temps », a-t-il ajouté. averti. « Nous recommandons aux clients d’utiliser d’autres méthodes plutôt que d’attendre que nous rétablissions cette intégration. »