L’équipe Project Zero de Google a révélé publiquement une faille de gravité élevée dans GitHub qui pourrait être exploitée pour lancer des attaques par injection sur la plate-forme de développement populaire.
L’équipe d’analystes de la sécurité du géant de la recherche est réputée pour avoir découvert des vulnérabilités majeures dans des logiciels populaires et plus tôt cette semaine, elle a révélé un jour zéro Windows 10 qui pourrait permettre aux pirates de prendre le contrôle des ordinateurs des utilisateurs.
En janvier, Project Zero a modifié sa politique de divulgation pour donner aux fournisseurs 90 jours complets avant de divulguer des problèmes dans leurs systèmes ou logiciels. C’est pourquoi GitHub a eu jusqu’au 18 octobre pour corriger son défaut de gravité élevé après que les chercheurs de Google l’ont découvert en juillet. À l’approche de la date limite, GitHub a abandonné les commandes vulnérables en octobre et a publié un avis de sécurité avertissant les utilisateurs de mettre à jour leurs flux de travail.
À la mi-octobre, la plate-forme de développement a ensuite accepté une période de grâce de 14 jours de Project Zero sachant que la vulnérabilité serait divulguée publiquement le 2 novembre.
Sommaire
Attaques par injection
La vulnérabilité, classée CVE-2020-15228, concerne le fait que les commandes de flux de travail dans les actions GitHub sont extrêmement vulnérables aux attaques par injection. Ces commandes servent de canal de communication entre les actions exécutées et l’Action Runner sur la plateforme.
Ingénieur principal en sécurité de l’information chez Google, Felix Wilhem a expliqué dans un rapport Project Zero que presque tous les projets avec des actions Github complexes sont vulnérables aux attaques par injection, en disant:
«Le gros problème de cette fonctionnalité est qu’elle est très vulnérable aux attaques par injection. Alors que le processus d’exécution analyse chaque ligne imprimée sur STDOUT à la recherche de commandes de flux de travail, chaque action Github qui imprime un contenu non approuvé dans le cadre de son exécution est vulnérable. Dans la plupart des cas, la possibilité de définir des variables d’environnement arbitraires entraîne l’exécution de code à distance dès qu’un autre flux de travail est exécuté. J’ai passé du temps à regarder les référentiels Github populaires et presque tous les projets avec des actions Github quelque peu complexes sont vulnérables à cette classe de bogues. »
Résoudre complètement le problème sera assez difficile pour Github car la façon dont les commandes de flux de travail sont implémentées est «fondamentalement non sécurisée», selon Wilhem. Bien que la syntaxe de la commande puisse être déconseillée en tant que solution à court terme au problème, un correctif à long terme nécessiterait le déplacement des commandes de flux de travail vers un canal hors limites, bien que cela brise également d’autres morceaux de code dépendant.
Juste avant la fin de la période de grâce, GitHub a demandé une extension supplémentaire de 48 heures à Project Zero pour ne pas corriger le problème, mais pour informer les clients supplémentaires ainsi que pour déterminer une date finale pour corriger la vulnérabilité.
Via Neowin