
Python-Exploit für Jenkins CVE-2024-23897: Beliebiger Dateizugriff über die CLI-args4j-Analyse, der RCE ermöglicht. Scannt Hosts und extrahiert sensible Dateien von Jenkins-Controllern.
Jenkins CVE-2024-23897: Schwachstelle zum Lesen beliebiger Dateien, die zu RCE führt
Jenkins verwendet die args4j-Bibliothek, um Befehlsargumente und Optionen auf dem Jenkins-Controller bei der Verarbeitung von CLI-Befehlen zu parsen. Dieser Befehlsparser hat eine Funktion, die ein @-Zeichen gefolgt von einem Dateipfad in einem Argument durch den Inhalt der Datei ersetzt (expandAtFiles). Diese Funktion ist standardmäßig aktiviert und Jenkins 2.441 und früher, LTS 2.426.2 und früher deaktivieren sie nicht.
Dies ermöglicht Angreifern, beliebige Dateien im Dateisystem des Jenkins-Controllers unter Verwendung der Standardzeichenkodierung des Jenkins-Controller-Prozesses zu lesen.
Angreifer mit der Berechtigung Overall/Read können ganze Dateien lesen.
Angreifer ohne die Berechtigung Overall/Read können die ersten Zeilen von Dateien lesen. Die Anzahl der lesbaren Zeilen hängt von den verfügbaren CLI-Befehlen ab. Zum Zeitpunkt der Veröffentlichung dieser Sicherheitsmeldung hat das Jenkins-Sicherheitsteam Wege gefunden, die ersten drei Zeilen von Dateien in aktuellen Jenkins-Versionen ohne installierte Plugins zu lesen, und es wurden keine Plugins identifiziert, die diese Zeilenanzahl erhöhen würden.
Weitere Informationen: https://www.jenkins.io/security/advisory/2024-01-24/
Ausführen: python CVE-2024-23897.py -l host.txt -f /etc/passwd
