Google corrige une faille dans GCP Composer qui aurait pu conduire à l’exécution de code à distance


16 septembre 2024Ravie LakshmananSécurité/vulnérabilité du cloud

Une faille de sécurité critique désormais corrigée affectant Google Cloud Platform (GCP) Composer aurait pu être exploitée pour réaliser l’exécution de code à distance sur des serveurs cloud au moyen d’une technique d’attaque de chaîne d’approvisionnement appelée confusion de dépendances.

La vulnérabilité a été baptisée « nom de code » CloudImposer par Tenable Research.

« La vulnérabilité aurait pu permettre à un attaquant de détourner une dépendance logicielle interne que Google préinstalle sur chaque outil d’orchestration de pipeline Google Cloud Composer », a déclaré la chercheuse en sécurité Liv Matan dans un communiqué. rapport partagé avec The Hacker News.

La confusion de dépendance (également appelée attaque de substitution), documentée pour la première fois par le chercheur en sécurité Alex Birsan en février 2021, fait référence à un type de compromission de la chaîne d’approvisionnement logicielle dans lequel un gestionnaire de packages est amené à extraire un package malveillant d’un référentiel public au lieu du fichier prévu du même nom d’un référentiel interne.

Cybersécurité

Ainsi, un acteur malveillant pourrait lancer une attaque à grande échelle contre la chaîne d’approvisionnement en édition un package contrefait vers un référentiel de packages public portant le même nom qu’un package développé en interne par des entreprises et portant un numéro de version supérieur.

Cela, à son tour, amène le gestionnaire de paquets à télécharger sans le savoir le package malveillant du référentiel public au lieu du référentiel privé, remplaçant ainsi efficacement la dépendance du package existant par son homologue malveillant.

Le problème identifié Tenable est similaire dans le sens où il pourrait être utilisé de manière abusive pour télécharger un package malveillant dans le référentiel Python Package Index (PyPI) avec le nom « google-cloud-datacatalog-lineage-producer-client », qui pourrait ensuite être préinstallé sur toutes les instances de Composer avec des autorisations élevées.

Bien que Cloud Composer exige que le package en question soit épinglé par version (c’est-à-dire la version 0.1.0), Tenable a constaté que l’utilisation de l’argument « –extra-index-url » lors d’une commande « pip install » donne la priorité à la récupération du package à partir du registre public, ouvrant ainsi la porte à la confusion des dépendances.

Armés de ce privilège, les attaquants pourraient exécuter du code, exfiltrer les informations d’identification du compte de service et se déplacer latéralement dans l’environnement de la victime vers d’autres services GCP.

Suite à une divulgation responsable le 18 janvier 2024, Google a corrigé le problème en mai 2024 en s’assurant que le package n’est installé qu’à partir d’un référentiel privé. Google a également ajouté la précaution supplémentaire de vérifier la somme de contrôle du package afin de confirmer son intégrité et de valider qu’il n’a pas été altéré.

La Python Packaging Authority (PyPA) aurait été consciente des risques posés par l’argument « –extra-index-url » depuis au moins mars 2018, exhortant les utilisateurs à éviter d’utiliser PyPI dans les cas où le package interne doit être extrait.

Cybersécurité

« Les packages sont censés être uniques jusqu’au nom et à la version, donc deux roues avec le même nom de package et la même version sont traitées comme indiscernables par pip », a déclaré un membre de PyPA noté à l’époque. « Il s’agit d’une fonctionnalité délibérée des métadonnées du package, et il est peu probable qu’elle change. »

Google, dans le cadre de son correctif, recommande désormais également aux développeurs d’utiliser l’argument « –index-url » au lieu de l’argument « –extra-index-url » et aux clients GCP d’utiliser un référentiel virtuel Artifact Registry lorsqu’ils ont besoin de plusieurs référentiels.

« L’argument ‘–index-url’ réduit le risque d’attaques par confusion de dépendances en recherchant uniquement les packages dans le registre qui ont été définis comme une valeur donnée pour cet argument », a déclaré Matan.

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





ttn-fr-57