Les chercheurs en sécurité ont identifié plusieurs flux de travail dans les actions GitHub du service d’intégration et de développement continus (CI/CD) populaires qui sont vulnérables à l’exécution de commandes.

Une équipe de recherche de la plateforme de rencontres Tinder a conçu un script d’automatisation qui a mis au jour des failles permettant l’exfiltration de secrets qui fournissent un accès en écriture à divers référentiels GitHub open source, y compris Logstash d’Elastic.

UN article de blog La documentation des résultats a été rédigée par Rojan Rijal, Johnny Nipper et Tanner Emek – respectivement membre de l’équipe rouge, responsable principal de la sécurité des produits et responsable de l’ingénierie chez Tinder.

VOUS POURRIEZ AUSSI AIMER « Concentrez-vous sur la brillance à la base » – GitHub CSO Mike Hanley sur le déplacement vers la gauche et la sécurisation de la chaîne d’approvisionnement logicielle

Le trio a déclaré que « dans le pire des cas, vous pouvez exploiter un flux de travail vulnérable pour récupérer le GITHUB_TOKEN value », qui a un accès en lecture/écriture au référentiel par défaut. « Cela peut être utilisé pour pousser une version malveillante contre les utilisateurs et exécuter des exploits liés à la chaîne d’approvisionnement. »

Si des secrets d’accès plus sensibles au sein du flux de travail, tels que les informations d’identification AWS, les clés API ou les informations d’identification de service, étaient exposés, « cela pourrait entraîner une compromission de l’infrastructure d’une entreprise », ont-ils ajouté.

La cause la plus fréquente de vulnérabilités était les entrées utilisateur non sécurisées dans les scripts d’exécution. Les chercheurs ont également trouvé de nombreux exemples où pull_request_target a été mal utilisé, ce qui pourrait, entre autres, contourner un correctif 2019 pour un problème lié à l’utilisation de gestionnaires d’événements dans des dépôts bifurqués.

La recherche s’est concentrée sur des projets dotés de politiques de divulgation des vulnérabilités, avec des vulnérabilités validées signalées de manière responsable aux projets. L’équipe de sécurité d’Elastic a rapidement désactivé le flux de travail vulnérable et confirmé qu’aucun abus ne s’était produit, ont déclaré les chercheurs.

Auditeur de flux de travail GitHub

Tinder Security Labs a ouvert l’outil utilisé pour la recherche. Auditeur de flux de travail GitHub vérifie les flux de travail pour les entrées utilisateur non sécurisées, les validations malveillantes et les secrets.

Compte tenu des limites des outils existants comparables, les auteurs ont déclaré qu’ils « se sont concentrés sur la couverture de la plupart des cas de vulnérabilité dans les actions GitHub ainsi que sur l’efficacité. En tant que tel, nous permettons aux organisations d’analyser tous leurs référentiels à la fois en fournissant une clé API GitHub. Cela réduit le temps et les efforts des équipes de sécurité ».

L’outil a également abordé un risque de chaîne d’approvisionnement posé par les flux de travail exécutant des actions à partir d’anciens comptes GitHub. « Dans de tels cas, les attaquants peuvent réclamer le compte et pousser des actions malveillantes leur permettant d’accéder au référentiel et à ses flux de travail », ont expliqué les chercheurs. « Ce cas précis n’était pas couvert par les outils que nous avons testés. »

Ils ont ajouté : « Notre objectif chez Tinder Labs est d’identifier les vulnérabilités à fort impact dans un large éventail de technologies qui ont un impact mondial. Au fur et à mesure que nous recherchons d’autres technologies, vous pouvez vous attendre à voir plus de découvertes et d’outils de notre part à l’avenir.

Atténuations

Les chercheurs ont exhorté les développeurs à nettoyer correctement les entrées des utilisateurs dans les actions GitHub et à atténuer les attaques en limitant la portée d’accès des jetons GitHub.

GitHub Security Lab a, quant à lui, précédemment recommandé ce pull_request_target être utilisé uniquement lorsque les développeurs « ont besoin du contexte privilégié du référentiel cible » dans leur flux de travail.

Les conclusions de Tinder Security Labs font suite à la divulgation en mars de flux de travail GitHub Actions mal configurés qui ont causé défauts critiques dans des dizaines de dépôts, et un correctif GitHub Actions en janvier pour un contournement de la sauvegarde de la révision du code.

GitHub n’a pas répondu à l’invitation à commenter de .