High Tech

Une faille de Travis CI a dévoilé les secrets de milliers d’open source

Une faille de Travis CI a dévoilé les secrets de milliers de projets open source

Getty Images

Une faille de sécurité dans Travis CI a potentiellement exposé les secrets de milliers de projets open source qui reposent sur le service d’intégration continue hébergé. Travis CI est une solution de test de logiciels utilisée par plus de 900 000 projets open source et 600 000 utilisateurs. Une vulnérabilité de l’outil a permis d’exfiltrer les variables d’environnement sécurisées (clés de signature, identifiants d’accès et jetons d’API de tous les projets open source publics).

Pire encore, la communauté des développeurs est mécontente de la mauvaise gestion du processus de divulgation des vulnérabilités et du bref « bulletin de sécurité » qu’elle a dû forcer à sortir de Travis.

Variables d’environnement injectées dans les builds de pull request

Travis CI est un outil de test logiciel populaire en raison de son intégration transparente avec GitHub et Bitbucket. En tant que fabricants de l’outil Explique:

Lorsque vous exécutez une génération, Travis CI clone votre référentiel GitHub dans un tout nouvel environnement virtuel et effectue une série de tâches pour générer et tester votre code. Si une ou plusieurs de ces tâches échouent, la génération est considérée comme interrompue. Si aucune des tâches n’échoue, la construction est considérée comme réussie et Travis CI peut déployer votre code sur un serveur Web ou un hôte d’application.

Mais ce mois-ci, le chercheur Felix Lange a découvert une vulnérabilité de sécurité qui a amené Travis CI à inclure des variables d’environnement sécurisé de tous référentiels open source publics qui utilisent Travis CI dans les builds de pull request. Les variables d’environnement peuvent inclure des secrets sensibles tels que des clés de signature, des informations d’identification d’accès et des jetons d’API. Si ces variables sont exposées, les attaquants peuvent abuser des secrets pour obtenir un mouvement latéral dans les réseaux de milliers d’organisations.

Une simple recherche GitHub démontre que Travis est largement utilisé par un grand nombre de projets :

Résultats de recherche GitHub pour
Agrandir / Résultats de la recherche GitHub pour « travis.yml ».

Suivi comme CVE-2021-41077, le bogue est présent dans le processus d’activation de Travis CI et affecte certaines versions créées entre le 3 et le 10 septembre. Dans le cadre de ce processus d’activation, les développeurs sont censés ajouter un fichier « .travis.yml » à leur référentiel de projet open source. Ce fichier indique à Travis CI ce qu’il faut faire et peut contenir secrets cryptés. Mais ces secrets ne sont pas destinés à être dévoilés. En fait, les documents de Travis CI ont toujours déclaré : « Les variables d’environnement cryptées ne sont pas disponibles pour extraire les demandes des forks en raison du risque de sécurité lié à l’exposition de ces informations à un code inconnu. »

Idéalement, pour un fichier « travis.yml » fourni par le client et présent dans un référentiel Git, Travis devrait s’exécuter de manière à empêcher l’accès public à toutes les variables d’environnement secrètes spécifiées dans le fichier YML. En termes simples, lorsqu’un projet public est fork (copié), le fichier « .travis.yml », ainsi que ces secrets, sont inclus dans le fork. Ce n’est pas censé arriver. Mais cette vulnérabilité a provoqué l’exposition inattendue de ce type de secrets à à peu près n’importe qui forçant un référentiel public et imprimant des fichiers au cours d’un processus de génération.

Heureusement, le problème n’a pas duré trop longtemps – environ huit jours, grâce à Lange et à d’autres chercheurs qui ont signalé le bogue à la société le 7 septembre. Mais par prudence, tous les projets s’appuyant sur Travis CI sont invités à faire tourner leurs secrets.

Bien qu’elle ne soit pas exactement de nature similaire, la vulnérabilité a des échos de la Attaque de la chaîne d’approvisionnement Codecov dans lequel les acteurs de la menace avaient exfiltré des secrets et des variables d’environnement sensibles de nombreux clients Codecov de leurs environnements CI/CD, entraînant de nouvelles fuites de données dans des entreprises de premier plan.

« Selon un rapport reçu, un référentiel public dérivé d’un autre pourrait déposer une demande d’extraction (fonctionnalité standard, par exemple, dans GitHub, BitBucket, Assembla) et, ce faisant, obtenir un accès non autorisé aux secrets du référentiel public d’origine avec une condition de l’impression de certaines des mouches pendant le processus de construction », a expliqué Montana Mendy de Travis CI dans un bulletin de sécurité. « Dans ce scénario, les secrets sont toujours cryptés dans la base de données Travis CI. »

Mendy dit que le problème ne s’applique qu’aux référentiels publics et non aux référentiels privés, car les propriétaires de référentiels de ces derniers ont un contrôle total sur qui peut forker leurs référentiels.

La communauté est furieuse contre un « bulletin de sécurité » fragile

Mis à part la présence et la correction relativement rapide de la faille, le bulletin de sécurité concis de Travis CI et la gestion globale du processus de divulgation coordonnée ont rendu furieux la communauté des développeurs.

Dans un long fil Twitter, le chef du projet de crypto-monnaie Ethereum, Péter Szilágyi, détaille le processus ardu que son entreprise a enduré en attendant que Travis CI prenne des mesures et publie un bref bulletin de sécurité sur une page Web obscure.

« Après 3 jours de pression de plusieurs projets, [Travis CI] a résolu le problème en silence le 10. Aucune analyse, aucun rapport de sécurité, aucun post mortem, aucun avertissement à aucun de leurs utilisateurs que leurs secrets pourraient avoir été volés », a tweeté Szilágyi.

Après que Szilágyi et Lange aient demandé à GitHub d’interdire Travis CI en raison de sa mauvaise posture de sécurité et de ses processus de divulgation des vulnérabilités, un avis est apparu. « Enfin, après plusieurs ultimatums de plusieurs projets, [they] a posté ce post boiteux caché là où personne ne le lira… Pas même un seul « merci ». [No] reconnaissance de la divulgation responsable. Sans même admettre la gravité de tout cela », a déclaré Szilágyi, en se référant au bulletin de sécurité – et surtout à ses version abrégée, qui n’incluait pratiquement aucun détail.

Oui, c'est un bulletin de sécurité légitime.
Agrandir / Oui, c’est un bulletin de sécurité légitime.

Szilágyi a été rejoint par plusieurs membres de la communauté pour critiquer le bulletin. Développeur Web basé à Boston, Jake Jarvis appelé la divulgation un « bulletin de sécurité incroyablement embarrassant ».

Mais Travis CI pense que la rotation des secrets est quelque chose que les développeurs devraient faire de toute façon. « Travis CI a mis en place une série de correctifs de sécurité à partir du 3 septembre qui résout ce problème », a conclu Mendy au nom de l’équipe Travis CI. « Pour rappel, tous les utilisateurs doivent faire régulièrement le cycle de vos secrets. Si vous ne savez pas comment procéder, veuillez contacter le support. »

Ars a contacté Travis CI et Szilágyi pour de plus amples commentaires, et nous attendons leurs réponses.




Source link

Articles similaires

Bouton retour en haut de la page