JFrog Security Research : Les principales découvertes en 2024
février 2025 par JFrog
Voici le récapitulatif des principales découvertes réalisées par les équipes de JFrog Security Research en 2024 :
L’année dernière, nous pensions que le chiffre de 29 000 CVE (Common Vulnerabilities and Exposures) était énorme. Cette année, selon Cyber Press :
« Plus de 40 000 CVE publiés en 2024, marquant une augmentation de 38 % par rapport à 2023. »
C’est pourquoi l’équipe JFrog Security Research a joué un rôle crucial dans l’identification et l’examen des principales menaces, ainsi que dans le développement de stratégies pour protéger les logiciels contre les vulnérabilités exploitables et les logiciels malveillants.
• Porte dérobée XZ
Le 29 mars, du code malveillant permettant un accès SSH non autorisé à distance a été détecté dans XZ Utils, un package largement utilisé dans les principales distributions Linux. Cette attaque sur la chaîne d’approvisionnement a choqué la communauté open source, car XZ Utils était considéré comme un projet fiable et minutieusement contrôlé. L’attaquant s’est construit une réputation en tant que développeur open source crédible sur plusieurs années et a utilisé un code fortement obscurcit pour éviter la détection lors des contrôles du code.
Après notre première communication sur cette découverte, cet article détaillera ses fondements et son impact.
• Etude de la surface d’attaque des plateformes de Machine Learning
L’équipe JFrog Security Research a récemment consacré ses efforts à étudier les diverses attaques qui pourraient être montées sur les plateformes MLOps open source utilisées dans les réseaux organisationnels. Les modèles sont du code ! C’est probablement la vulnérabilité la plus connue et la plus dangereuse du machine learning. Elle peut conduire à une exécution de code même si les utilisateurs de ML sont conscients des dangers liés au chargement de modèles non fiables.
Dans nos recherches, nous avons distingué deux types de vulnérabilités sur les plateformes MLOps : les vulnérabilités inhérentes et les vulnérabilités d’implémentation.
Si vous voulez en savoir plus sur "From MLOps to MLOops - Exposing the Attack Surface of Machine Learning Platforms" (De MLOps à MLOops - Exposer la surface d’attaque des plates-formes d’apprentissage automatique).
• Des attaques coordonnées sur Docker Hub qui ont mis en place des millions de dépôts malveillants
Comme vous le savez probablement, Docker Hub est une plateforme qui offre de nombreuses fonctionnalités aux développeurs, mais aussi des opportunités pour le développement, la collaboration et la distribution d’images Docker.
L’équipe JFrog Security Research a découvert que 4,6 millions de dépôts sur Docker Hub sont sans image et ne contiennent que la documentation du dépôt. Une inspection plus approfondie a révélé que la grande majorité de ces dépôts sans image avaient été téléchargés avec un objectif malveillant : leurs pages de présentation tentaient de tromper les utilisateurs en les incitant à visiter des sites de phishing ou des sites hébergeant des malwares.
• L’analyse des secrets binaires nous a permis d’éviter (ce qui aurait pu être) la pire attaque de la chaîne d’approvisionnement que l’on puisse imaginer.
L’équipe de JFrog Security Research a découvert et signalé une fuite de jeton d’accès, avec un accès administrateur, aux dépôts GitHub de Python, PyPI et de la Python Software Foundation, à travers un conteneur Docker public hébergé sur Docker Hub. Notre moteur de scan des secrets a détecté un jeton “classique” GitHub dans l’un des dépôts publics de Docker Hub. Le problème avec les jetons classiques est que, contrairement aux jetons plus récents et granulaires, ils accordent des permissions similaires à tous les dépôts auxquels l’utilisateur a accès.
• Vanna.AI – Attaque par injection de prompt menant à une exécution de code
La bibliothèque Vanna.AI est une bibliothèque basée sur Python et conçue pour simplifier la génération de requêtes SQL à partir d’entrées en langage naturel en utilisant des grands modèles de langage (LLM). Elle permet aux utilisateurs d’interagir facilement avec les bases de données sans avoir besoin de connaître le SQL en profondeur.
JFrog a trouvé que la méthode "ask" dans cette bibliothèque peut mener à une fonction Python "exec", et en écrivant un prompt qui (entre autres) demande d’ajouter la commande os.system(“\dir\”), nous avons vu que celle-ci était exécutée avec succès et que le contenu du répertoire était affiché.
Comme nous pouvons le voir ci-dessus, l’utilisation de la bibliothèque Vanna.AI peut conduire à une exécution de code à distance sur l’hôte exécutant la bibliothèque. Ce problème a été assigné au CVE-2024-5565 avec un score CVSS de 8,1.
• Des modèles ML malveillants sur Hugging Face ciblant les data scientists avec une porte dérobée silencieuse
JFrog surveille et analyse régulièrement les modèles IA téléchargés par les utilisateurs. Ils ont découvert un modèle malveillant téléchargé sur Hugging Face qui, en chargeant un fichier pickle, conduit à l’exécution de code.
La charge utile du modèle accorde à l’attaquant un shell sur la machine compromise, lui permettant de prendre le contrôle complet des machines des victimes, par le biais de ce que l’on appelle une porte dérobée (backdoor).
L’attaquant peut ainsi avoir accès à des systèmes internes critiques et procéder à des violations de données à grande échelle.
Cette attaque a un impact non seulement sur les utilisateurs individuels, mais aussi sur des organisations entières à travers le monde, tout en laissant les victimes totalement inconscientes de leur état de compromission.
Bien que Hugging Face connaisse les bonnes pratiques de sécurité à mettre en place, notamment l’analyse des fichiers pickle, un modèle récemment publié rappelle brutalement que la plateforme n’est pas à l’abri des menaces réelles.
• 22 000 packages PyPI en danger – Une technique de détournement exploitée
L’équipe JFrog Security Research surveille en permanenceles registres des logiciels open source pour identifier et traiter les potentielles menaces. Nous avons trouvé une méthode d’attaque appelée “Revival Hijack” qui pourrait potentiellement être utilisée pour détourner 22 000 packages existants sur PyPI, ce qui conduirait à des centaines de milliers de téléchargements de packages malveillants.
Nous avons observé une politique intéressante de PyPI concernant les packages supprimés. Lorsque les développeurs retirent leurs projets du dépôt PyPI, les noms associés aux packages deviennent immédiatement disponibles pour l’enregistrement par un autre utilisateur. Les attaquants peuvent ainsi cibler des packages populaires, en détournant le nom du package et en infectant ensuite tout utilisateur qui essaie de mettre à jour ce package à la dernière version (ou – le réinstalle depuis zéro, ce qui est populaire dans les machines CI/CD qui exécutent une pipeline statique).
Par conséquent, les victimes peuvent utiliser ces paquets malveillants (qui ne l’étaient pas à l’époque) dans leur code.
• Exploitation des vulnérabilités de LibX11
L’équipe JFrog Security Research a trouvé deux vulnérabilités dans X.Org libX11, à savoir les CVE-2023-43786 et CVE-2023-43787, qui entraînent un déni de service et une exécution de code à distance.
LibX11 est un protocole graphique open source très populaire qui permet la création et la gestion des interfaces graphiques dans les systèmes d’exploitation de type Unix.
La vulnérabilité CVE-2023-43786 est une boucle infinie résultant d’un calcul incorrect de la condition d’arrêt de la récursion.
La vulnérabilité CVE-2023-43787 est un débordement de mémoire tampon sur le tas qui se produit lors de l’analyse d’une image XPM malformée, et qui peut être exploitée pour exécuter du code à distance.