Plusieurs exploits de preuve de concept (PoC) pour une vulnérabilité Jenkins critique permettant à des attaquants non authentifiés de lire des fichiers arbitraires ont été rendus publics, certains chercheurs signalant que des attaquants exploitaient activement les failles des attaques.

Jenkins est un serveur d’automatisation open source largement utilisé dans le développement de logiciels, en particulier pour l’Intégration Continue (CI) et le Déploiement continu (CD).

Il joue un rôle essentiel dans l’automatisation de diverses parties du processus de développement logiciel, telles que la création, le test et le déploiement d’applications. Il prend en charge plus d’un millier de plugins d’intégration et est utilisé par des organisations de toutes tailles, y compris les grandes entreprises.

Les chercheurs de SonarSource ont découvert deux failles dans Jenkins qui pourraient permettre aux attaques d’accéder aux données sur des serveurs vulnérables et d’exécuter des commandes CLI arbitraires dans certaines conditions.

La première faille, classée critique, est CVE-2024-23897, permettant aux attaquants non authentifiés avec l’autorisation « global / read » de lire des données à partir de fichiers arbitraires sur le serveur Jenkins.

Les attaquants sans cette autorisation peuvent toujours lire les premières lignes de fichiers, le nombre dépendant des commandes CLI disponibles.

La faille provient du comportement par défaut de l’analyseur de commandes args4j dans Jenkins, qui développe automatiquement le contenu du fichier en arguments de commande lorsqu’un argument commence par le caractère »@ », permettant une lecture non autorisée de fichiers arbitraires sur le système de fichiers du contrôleur Jenkins.

Sonar a expliqué que l’exploitation de la faille particulière pouvait entraîner une augmentation des privilèges d’administrateur et une exécution arbitraire de code à distance. Cette étape dépend cependant de certaines conditions qui doivent être remplies, qui sont différentes pour chaque variante d’attaque.

Diagramme d’exploitation

La deuxième faille, identifiée comme CVE-2024-23898, est un problème de détournement de WebSocket intersite dans lequel les attaquants pouvaient exécuter des commandes CLI arbitraires en incitant un utilisateur à cliquer sur un lien malveillant.

Ce risque qui découle de ce bogue devrait être atténué par les politiques de protection existantes dans les navigateurs Web, mais il persiste en raison de l’absence d’application universelle de ces politiques.

SonarSource a signalé les failles à l’équipe de sécurité de Jenkins le 13 novembre 2023 et a aidé à vérifier les correctifs au cours des mois suivants.

Le 24 janvier 2024, Jenkins a publié des correctifs pour les deux failles avec les versions 2.442 et LTS 2.426.3, et a publié un avis qui partage divers scénarios d’attaque et voies d’exploitation, ainsi que des descriptions de correctifs et des solutions de contournement possibles pour ceux qui ne peuvent pas appliquer les mises à jour de sécurité.

Exploits disponibles
Avec de nombreuses informations sur les failles Jenkins désormais disponibles, de nombreux chercheurs ont reproduit certains des scénarios d’attaque et créé des exploits PoC fonctionnels publiés sur GitHub.

Les prix sont pour CVE-2024-23897, qui permet aux attaquants d’exécuter du code à distance sur des serveurs Jenkins non corrigés.

Beaucoup de ces photos ont déjà été validées, de sorte que les attaquants qui recherchent des serveurs exposés peuvent récupérer les scripts et les essayer avec peu ou pas de modifications.

Certains chercheurs rapportent que leurs pots de miel Jenkins ont déjà détecté une activité dans la nature, suggérant que les pirates ont commencé à exploiter les vulnérabilités.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *