Décidément la sécurité des projets open source reste toujours problématique. La firme Apiiro a découvert une faille critique dans Argo CD, un outil de livraison continue déclaratif pour Kubernetes. A travers cette vulnérabilité, les cybercriminels peuvent voler des mots de passe de git-crypt et d’autres informations sensibles en téléchargeant simplement un Chart Helm spécifique. Les Charts sont des packages qui contiennent toutes les définitions des ressources nécessaires pour exécuter une application, un outil ou un service à l'intérieur d'un cluster Kubernetes.
La vulnérabilité est décrite sous la référence CVE-2022-24348, avec un score de sévérité de 7.7 sur 10. « Il est possible de créer des paquets spéciaux pour Helm contenant des fichiers de valeurs qui sont en fait des liens symboliques, pointant vers des fichiers malveillants en dehors du repértoire racine du dépôt », indique un des membres du projet Argo dans un avis de sécurité concernant la faille. Selon ce document, toutes les versions de la solution sont vulnérables ajoutant : « l’impact peut notamment devenir critique dans les environnements qui se servent des fichiers de valeurs (par exemple en utilisant des plugins avec git-crypt ou SOPS) contenant des données sensibles ou confidentielles, et qui déchiffrent ces secrets sur le disque avant le rendu dans un Chart Helm ».
Un bug de traversée de répertoires
La société de sécurité du cloud Apiiro a déniché la faille en réalisant un test. Ce dernier visait à pousser l’analyseur d’URI (Uniform Ressource Identifier) Argo « à accepter un chemin de fichier local et à le confondre avec une URI et à utiliser cette confusion pour éviter les techniques de nettoyage et d’anti-traversée de chemin ». L’éditeur ajoute que « les contributeurs d’Argo CD étaient conscients de cette faiblesse en 2019 et avaient mis en place un mécanisme d’anti-traversée de répertoires. Cependant, un bug dans le contrôle rend possible l’exploitation de la faille ».
Modus operandi de la faille dans Argo CD. (Crédit Photo: Apiiro)
Aujourd’hui, la faille a été corrigée avec les versions 2.19, 2.2.4 et 2.3.0 d’Argo CD. Apiiro constate que les mainteneurs du projet open source ont été rapides pour réparer le bug. Il n’y a eu que 4 jours entre la divulgation initiale, le correctif et la présentation publique coordonnée. Il est donc urgent pour les entreprises concernées de mettre à jour la solution Argo CD utilisée. En touchant Kubernetes, cette faille peut avoir un impact non négligeable sur leur sécurité. L’exemple de Log4j a montré la fragilité de la supply chain logicielle, au point que même la Maison-Blanche se soit inquiétée de la sécurité des projets open source critiques.