
Escáner POC para la vulnerabilidad de Grafana CVE-2019-15043
Escaneo de prueba de concepto para comprobar si un servidor Grafana es vulnerable a CVE-2019-15043. Comprueba el número de versión del servidor Grafana y verifica si la API de snapshots permite solicitudes no autenticadas.
CVE-2019-15043 es una vulnerabilidad de denegación de servicio encontrada en la API de snapshots de Grafana.
Esta vulnerabilidad se corrigió en las versiones 5.4.5 y 6.3.4.
Solo necesita la librería requests.
Instalar con pip3 install requests
$ ./cve-2019-15043.py -h
usage: cve-2019-15043.py [-h] [-u URL] [-c]
For checking if a Grafana instance is vunlerable to CVE-2019-15043
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL URL of the target Grafana instance e.g. '-u
https://localhost:3000'
-c, --check-version Only check the Grafana versio
Comprobando solo el número de versión:
$ ./cve-2019-15043.py -u http://192.168.3.38:3000 -c
[-] Testing http://192.168.3.38:3000...
[-] Status: 200
[-] Checking for version...
[-] Grafana version appears to be: 6.3.3
[+] Version seems to indicate it might be vulnerable!
$ ./cve-2019-15043.py -u http://192.168.3.38:3000 -c
[-] Testing http://192.168.3.38:3000...
[-] Status: 200
[-] Checking for version...
[-] Grafana version appears to be: 6.3.4
[!] Version seems to indicate it's probably not vulnerable.
Comprobando si la API de snapshots requiere autenticación:
$ ./cve-2019-15043.py -u http://192.168.3.38:3000
[-] Testing http://192.168.3.38:3000...
[-] Status: 200
[-] Checking for version...
[-] Grafana version appears to be: 6.3.3
[+] Version seems to indicate it might be vulnerable!
[-] Checking if snapshot api requires authentiation...
[+] Snapshot endpoint doesn't seem to require authentication! Host may be vulnerable.
./cve-2019-15043.py -u http://192.168.3.38:3000
[-] Testing http://192.168.3.38:3000...
[-] Status: 200
[-] Checking for version...
[-] Grafana version appears to be: 6.3.4
[!] Version seems to indicate it's probably not vulnerable.
[-] Checking if snapshot api requires authentiation...
[!] Status: 401
[!] Snapshot endpoint requires authentication! Host not vulnerable.