Maison  >  Article  >  La vulnérabilité de sécurité des actions GitHub compromet les projets open source notables

La vulnérabilité de sécurité des actions GitHub compromet les projets open source notables

WBOY
WBOYoriginal
2024-08-16 00:27:14259parcourir

Une vulnérabilité de sécurité dans GitHub Actions a compromis plusieurs projets open source notables maintenus par des sociétés comme Google, Microsoft, AWS et Red Hat.

La vulnérabilité de sécurité des actions GitHub compromet les projets open source notables

Une vulnérabilité de sécurité critique dans GitHub Actions a conduit à l'exposition de jetons d'authentification pour plusieurs projets open source de grande envergure maintenus par des sociétés comme Google, Microsoft, AWS et Red Hat. Cette faille a permis un accès non autorisé à des référentiels privés et l'insertion de code malveillant.

GitHub Actions est une plateforme d'intégration continue et de livraison continue (CI/CD) profondément intégrée à GitHub. Il a été lancé en 2018 et permet aux utilisateurs d'automatiser leurs pipelines de construction, de test et de déploiement directement dans leurs référentiels GitHub.

Cette vulnérabilité a été identifiée par l'unité 42 de Palo Alto Networks, qui a découvert que ces jetons devenaient involontairement publics. Étonnamment, malgré la gravité de la situation, GitHub a décidé de ne pas remédier au problème sous-jacent. Au lieu de cela, ils ont recommandé aux utilisateurs de prendre des mesures pour sécuriser leurs artefacts de flux de travail. Cette décision a laissé de nombreux utilisateurs vulnérables et frustrés.

L'enquête de l'Unit 42 a mis en évidence plusieurs problèmes qui peuvent contribuer à cette vulnérabilité, notamment des configurations par défaut non sécurisées et des erreurs d'utilisateur. L'un des principaux problèmes concerne la fonctionnalité « actions/checkout », qui stocke par défaut le jeton GitHub dans le répertoire .git local. Si ce répertoire est inclus dans les téléchargements d'artefacts, le jeton devient exposé.

Cette vulnérabilité affecte également d'autres informations sensibles, telles que les clés API et les jetons d'accès au cloud, qui pourraient être divulguées via ces artefacts. Les sorties de build et les résultats des tests sont stockés jusqu'à 90 jours et sont accessibles à toute personne disposant des autorisations de lecture sur le référentiel.

Une autre vulnérabilité est rencontrée lorsque les pipelines CI/CD stockent les jetons GitHub dans des variables d'environnement. Si des actions ou des scripts au sein du flux de travail enregistrent ces variables d'environnement, ils peuvent être involontairement exposés. Par exemple, l'activation de la propriété « CREATE_LOG_FILE » dans l'action « super-linter » peut enregistrer ces variables.

L'exploitation de cette vulnérabilité peut varier en fonction du type de token exposé. Par exemple, si un jeton GitHub est divulgué, il peut être utilisé pour extraire les informations d'identification des fichiers journaux et les utiliser avant leur expiration. Les jetons GitHub sont généralement valides pour la durée de leurs tâches de flux de travail, tandis que le « Actions_Runtime_Token », qui est utilisé pour la mise en cache et la gestion des artefacts, reste valide pendant six heures. Cela offre une fenêtre d’opportunité limitée aux attaquants.

Cependant, les recherches menées par Unit 42 ont également montré que ces jetons incluent l'accès à des infrastructures cloud tierces, et pas seulement à GitHub. Cela soulève d’autres problèmes de sécurité, car les données artificielles contenant ces jetons se sont avérées accessibles au public pendant une durée pouvant aller jusqu’à trois mois. Les acteurs malveillants pourraient automatiser la récupération des artefacts, extraire des jetons et les utiliser pour transmettre du code malveillant vers des référentiels.

Pour démontrer cette vulnérabilité, les chercheurs ont créé une branche dans un projet open source, montrant le potentiel d'exécution de code à distance (RCE) sur le runner gérant l'artefact malveillant. Ils ont également développé une action de preuve de concept (PoC) pour auditer le répertoire source à la recherche de secrets, bloquant les téléchargements d'artefacts si un risque d'exposition de secrets était détecté.

Les résultats de cette recherche ont été soumis au programme de bug bounty de GitHub, mais le problème a été classé comme informatif, suggérant que les utilisateurs assument la responsabilité de sécuriser les artefacts téléchargés. Malgré la réponse limitée de GitHub, les informations ont été partagées avec Cyber ​​Threat Alliance (CTA) pour permettre aux membres de déployer des mesures de protection et de contrecarrer les cybermenaces potentielles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn