Alerte : Les vulnérabilités de Jenkins ouvrent les serveurs aux attaques RCE
Jenkins, une influente plateforme d'automatisation open-source basée sur Java, célèbre pour son vaste écosystème de plugins et ses capacités d'intégration continue, a récemment dévoilé une série de vulnérabilités dans ses offres. L'une d'entre elles, particulièrement critique, présente un potentiel d'exécution de code à distance (RCE). d'exécution de code à distance (RCE) (Remote Code Execution)a été révélée, nécessitant une attention urgente. Dans ce blog, nous nous penchons sur les implications critiques des vulnérabilités de vulnérabilités de JenkinsNous mettons en lumière la nature complexe des risques de sécurité posés par la vulnérabilité RCE récemment divulguée, CVE-2024-23897.
Les vulnérabilités de Jenkins dévoilées
Repérée sous CVE-2024-23897 avec un score de gravité de 9.8, la vulnérabilité de Jenkins provient d'un problème de lecture de fichier arbitraire affectant son interface de ligne de commande (CLI) intégrée. Cette CLI, utilisée pour accéder à Jenkins à partir de scripts ou d'environnements shell, utilise la bibliothèque args4j pour analyser les commandes.
Plus précisément, une fonction appelée "expandAtFiles" dans l'analyseur remplace le "@" suivi d'un chemin de fichier par le contenu du fichier. Cette fonctionnalité est activée par défaut dans les versions de Jenkins 2.441 et antérieures, LTS 2.426.2 et antérieures, ce qui constitue un point d'entrée potentiel pour les attaquants afin de lire des fichiers arbitraires sur le système de fichiers du contrôleur Jenkins.
Décortiquer les risques
La vulnérabilité CVE-2023-23897 permet à des attaquants potentiels disposant des permissions Overall/Read de lire des fichiers entiers. Même sans cette permission, les attaquants peuvent toujours accéder aux premières lignes, le nombre de lignes étant déterminé par les commandes CLI disponibles. Notamment, les fichiers binaires contenant des clés cryptographiques peuvent être lus sous certaines restrictions.
Outre la lecture du contenu des fichiers, Jenkins a décrit des scénarios d'attaque potentiels que les acteurs de la menace pourraient exploiter pour réaliser un RCE grâce à cette vulnérabilité. Il est essentiel de souligner que ces attaques ne sont possibles que si les attaquants peuvent obtenir des clés cryptographiques à partir de fichiers binaires.
Vecteurs d'attaque potentiels
Comprendre les voies par lesquelles les attaquants peuvent exploiter les vulnérabilités des logiciels libres les vulnérabilités des logiciels libres est cruciale pour une défense efficace. Ci-dessous, nous explorons plusieurs vecteurs d'attaque potentiels que les acteurs de la menace peuvent utiliser pour exploiter la vulnérabilité RCE de Jenkins (CVE-2024-23897).
- RCE via les URL de la racine des ressources : Cet exploit nécessite que la fonctionnalité Resource Root URL soit activée. Les attaquants, dans la première variante, utilisent le point de terminaison CLI WebSocket, nécessitant la connaissance ou la capacité de deviner le nom d'utilisateur d'un utilisateur avec la permission Overall/Read. La deuxième variante nécessite la possession d'un jeton API pour un compte utilisateur non anonyme, la permission Overall/Read n'étant pas une condition préalable.
- CRE via "Se souvenir de moi Cookie : Les attaquants peuvent forger un cookie "Remember me" pour se connecter à Jenkins via un navigateur web, obtenir l'accès à la console de script et manipuler un cookie pour un compte administrateur. Cet exploit nécessite que la fonction "Remember me" soit activée, ainsi que la permission Overall/Read pour accéder au contenu au-delà des lignes initiales dans les fichiers.
- RCE via des attaques XSS (Cross-Site Scripting) stockées à travers les logs de construction : Les attaquants peuvent exécuter des attaques XSS en injectant du HTML et du JavaScript arbitraires dans les journaux de construction par l'intermédiaire d'objets de note de console sérialisés falsifiés. Une exploitation réussie repose sur le contrôle de l'attaquant sur la sortie du journal de construction, généralement obtenu par des mécanismes tels que les demandes d'extraction.
- RCE via le contournement de la protection CSRF : En utilisant de faux jetons CSRF ("miettes"), les attaquants peuvent effectuer des attaques CSRF en soumettant des requêtes POST avec une miette valide.
Corrections de sécurité dans Jenkins
Protéger les systèmes de CI/CD contre les cybermenaces contre les systèmes de CI/CD nécessite une approche globale qui s'attaque aux vulnérabilités à chaque étape du pipeline de développement. Yaniv Nizry, chercheur en sécurité chez SonarSource, a le mérite d'avoir découvert et signalé la faille sur le site Web de l'entreprise. 13 novembre 2023.
Le problème a été résolu dans Jenkins 2.442 et LTS 2.426.3, où la fonction d'analyseur de commandes a été désactivée à titre préventif. Comme solution de contournement à court terme jusqu'à ce que le correctif puisse être appliqué, il est fortement recommandé de désactiver temporairement l'accès au CLI.
Précédent Vulnérabilités de Jenkins
Ce développement intervient près d'un an après que Jenkins a été confronté à de graves vulnérabilités de sécurité connues sous le nom de CorePlague (CVE-2023-27898 et CVE-2023-27905), soulignant ainsi l'engagement continu de la plateforme à sécuriser les instances Jenkins.
L'urgence de la situation, des exploits de type "preuve de concept" (PoC) pour CVE-2024-23897 ont été rendus publics sur GitHub suite à la divulgation de la faille. Les utilisateurs sont vivement encouragés à mettre à jour rapidement leurs installations Jenkins vers la dernière version afin d'atténuer les risques potentiels liés à la sécurité des serveurs. risques potentiels pour la sécurité du serveur.
Conclusion
En conclusion, les vulnérabilités de vulnérabilités de Jenkins exigent une attention immédiate de la part de la communauté. Il est primordial de comprendre les risques, de mettre en œuvre les correctifs recommandés et de rester informé des mises à jour de sécurité. La cybersécurité dans l'intégration continue est primordiale pour garantir l'intégrité et la sécurité des processus de développement de logiciels.
Dans un paysage où les cybermenaces évoluent sans cesse, les mesures proactives jouent un rôle crucial dans la sauvegarde de l'intégrité et de la sécurité des installations Jenkins. Pour atténuer les risques de exploits contre les serveurs Jenkinsil est essentiel d'appliquer rapidement les correctifs de sécurité et d'adopter des mesures de sécurité proactives. des mesures de sécurité proactives.
Les sources de cet article comprennent des articles dans The Hacker News et SOCRadar.