Une vulnérabilité critique de GitHub expose plus de 4 000 référentiels à une attaque de repojacking


12 septembre 2023THNSécurité/vulnérabilité des logiciels

Une nouvelle vulnérabilité révélée dans GitHub aurait pu exposer des milliers de référentiels à des risques d’attaques de repojacking, selon de nouvelles découvertes.

La faille « pourrait permettre à un attaquant d’exploiter une situation de concurrence critique dans les opérations de création de référentiel et de renommage de nom d’utilisateur de GitHub », a déclaré Elad Rapoport, chercheur en sécurité chez Checkmarx. dit dans un rapport technique partagé avec The Hacker News.

« L’exploitation réussie de cette vulnérabilité a un impact sur la communauté open source en permettant le détournement de plus de 4 000 packages de code dans des langages tels que Go, PHP et Swift, ainsi que des actions GitHub. »

Suite à une divulgation responsable le 1er mars 2023, la plateforme d’hébergement de code appartenant à Microsoft a résolu le problème le 1er septembre 2023.

La cyber-sécurité

Le repojacking, abréviation de détournement de référentiel, est une technique par laquelle un acteur malveillant est capable de contourner un mécanisme de sécurité appelé retrait populaire de l’espace de noms du référentiel et, finalement, de contrôler un référentiel.

La mesure de protection empêche d’autres utilisateurs de créer un référentiel portant le même nom qu’un référentiel contenant plus de 100 clones au moment où son compte utilisateur est renommé. En d’autres termes, la combinaison du nom d’utilisateur et du nom du référentiel est considérée comme « retirée ».

Si cette protection était contournée de manière triviale, elle pourrait permettre aux acteurs malveillants de créer de nouveaux comptes avec le même nom d’utilisateur et de télécharger des référentiels malveillants, ce qui pourrait conduire à des attaques de la chaîne d’approvisionnement logicielle.

Attaque de repojacking

La nouvelle méthode décrite par Checkmarx profite d’une potentielle condition de concurrence entre la création d’un référentiel et le renommage d’un nom d’utilisateur pour réaliser un repojacking. Plus précisément, cela implique les étapes suivantes –

  1. La victime possède l’espace de noms « victim_user/repo »
  2. La victime renomme « victim_user » en « renamed_user »
  3. Le référentiel « victim_user/repo » est désormais retiré
  4. Un acteur menaçant portant le nom d’utilisateur « attaquant_utilisateur » crée simultanément un référentiel appelé « repo » et renomme le nom d’utilisateur « attaquant_utilisateur » en « victime_user ».

La dernière étape est accomplie à l’aide d’une requête API pour la création d’un référentiel et d’une interception de requête renommée pour le changement de nom d’utilisateur. Le développement intervient près de neuf mois après que GitHub ait corrigé un défaut de contournement similaire cela pourrait ouvrir la porte à attaques de repojacking.

« La découverte de cette nouvelle vulnérabilité dans les opérations de création de référentiel et de renommage de nom d’utilisateur de GitHub souligne les risques persistants associés au mécanisme de ‘retrait des espaces de noms de référentiel populaires' », a déclaré Rapoport.

Vous avez trouvé cet article intéressant ? Suivez-nous sur Twitter et LinkedIn pour lire plus de contenu exclusif que nous publions.





ttn-fr-57