
Exploit Python pour Jenkins CVE-2024-23897 : lecture de fichier arbitraire via l'analyse CLI args4j, permettant une exécution de code à distance. Scanne les hôtes et extrait des fichiers sensibles des contrôleurs Jenkins.
Jenkins CVE-2024-23897 : Vulnérabilité de lecture de fichier arbitraire menant à une exécution de code à distance (RCE)
Jenkins utilise la bibliothèque args4j pour analyser les arguments et options des commandes sur le contrôleur Jenkins lors du traitement des commandes CLI. Cet analyseur de commandes dispose d'une fonctionnalité qui remplace un caractère @ suivi d'un chemin de fichier dans un argument par le contenu du fichier (expandAtFiles). Cette fonctionnalité est activée par défaut et Jenkins 2.441 et versions antérieures, LTS 2.426.2 et versions antérieures ne la désactivent pas.
Cela permet aux attaquants de lire des fichiers arbitraires sur le système de fichiers du contrôleur Jenkins en utilisant l'encodage de caractères par défaut du processus du contrôleur Jenkins.
Les attaquants disposant de la permission Overall/Read peuvent lire des fichiers entiers.
Les attaquants ne disposant pas de la permission Overall/Read peuvent lire les premières lignes des fichiers. Le nombre de lignes pouvant être lues dépend des commandes CLI disponibles. Au moment de la publication de cet avis, l'équipe de sécurité Jenkins a trouvé des moyens de lire les trois premières lignes des fichiers dans les versions récentes de Jenkins sans avoir installé de plugins, et n'a identifié aucun plugin qui augmenterait ce nombre de lignes.
Plus d'informations : https://www.jenkins.io/security/advisory/2024-01-24/
exécutez : python CVE-2024-23897.py -l host.txt -f /etc/passwd
