Une vulnérabilité de sécurité récemment identifiée dans le référentiel officiel de Homebrew Cask aurait pu être exploitée par un attaquant pour exécuter du code arbitraire sur les machines des utilisateurs sur lesquelles Homebrew est installé.
Le problème, qui a été signalé aux responsables le 18 avril par un chercheur en sécurité japonais nommé RyotaK, découle de la façon dont le code change dans son Dépôt GitHub ont été traités, ce qui a abouti à un scénario où un demande de tirage – c’est-à-dire les modifications proposées – pourraient être automatiquement examinées et approuvées. La faille a été corrigée le 19 avril.
Homebrew est une solution de gestion de progiciels gratuite et open source qui permet l’installation de logiciels sur le système d’exploitation macOS d’Apple ainsi que sur Linux. Homebrew Fût étend la fonctionnalité pour inclure des flux de travail de ligne de commande pour les applications macOS basées sur l’interface graphique, les polices, les plug-ins et d’autres logiciels non open source.
« La vulnérabilité découverte permettrait à un attaquant d’injecter du code arbitraire dans un tonneau et de le faire fusionner automatiquement », Markus Reiter de Homebrew mentionné. « Cela est dû à une faille dans le git_diff dépendance de la revue-cask-pr Action GitHub, qui est utilisée pour analyser la différence d’une demande d’extraction à des fins d’inspection. En raison de cette faille, l’analyseur peut être usurpé en ignorant complètement les lignes incriminées, ce qui aboutit à l’approbation d’une demande d’extraction malveillante. «
En d’autres termes, la faille signifiait que le code malveillant injecté dans le référentiel Cask était fusionné sans aucun examen ni approbation.
Le chercheur a également soumis une preuve de concept (PoC) demande de tirage démontrant la vulnérabilité, après quoi elle a été annulée. À la lumière des résultats, Homebrew a également supprimé l’action GitHub « automerge » ainsi que désactivé et supprimé l’action GitHub « review-cask-pr » de tous les référentiels vulnérables.
De plus, la possibilité pour les bots de s’engager dans les référentiels homebrew / cask * a été supprimée, toutes les demandes d’extraction nécessitant une révision manuelle et une approbation par un responsable à l’avenir. Aucune action de l’utilisateur n’est requise.
« Si cette vulnérabilité était abusée par un acteur malveillant, elle pourrait être utilisée pour compromettre les machines qui exécutent le brassage avant qu’elle ne soit rétablie », le chercheur mentionné. « Je suis donc convaincu qu’un audit de sécurité par rapport à l’écosystème centralisé est nécessaire. »