domingo, 29 de octubre de 2017

Vulnerabilidades en routers WiFi TP-Link WR940N

Recientemente el investigador Tim Carrington (@__invictus_) ha descubierto dos vulnerabilidades (una de denegación de servicio y otra de ejecución de código remoto) en routers TP-Link WR940N
Para explotar estas vulnerabilidades se necesita conocer las credenciales de administración del dispositivo.

La vulnerabilidad de denegación de servicio se explota a través de un campo que se encuentra en el panel de administración, en concreto en la herramienta de diagnóstico.

TP-Link Web Interface
Campo 'pingAddr' vulnerable. Imagen: https://www.fidusinfosec.com

Si pasamos una cadena superior a 50 caracteres al campo 'pingAddr' desencadenamos la denegación del servicio y el reinicio del dispositivo.


Función vulnerable. Imagen: https://www.fidusinfosec.com

En cuanto a la vulnerabilidad de desbordamiento de buffer, los valores de la llamada a 'httpGetEnv' (parámetros 'ping_addr', 'isNew') son valores pasados por peticiones 'GET', que son pasados a su vez a la función 'ipAddrDispose'.

Al comienzo de la ejecución de la función se declara una variable que luego es pasada como argumento a la función 'strcpy' sin realizar validación alguna sobre la longitud del argumento introducido, dando como resultado un desbordamiento de buffer. A partir de esta vulnerabilidad podemos ejecutar código remoto con el exploit adecuado.

Estas vulnerabilidades se consideran criticas ya que a parte de producir la detención del servicio, también se puede ejecutar código remotamente. TP-Link ya ha desarrollado un parche para estas vulnerabilidades, alq ue como siempre se recomienda actualizar. Adicionalmente, se encuentra disponible el exploit para esta vulnerabilidad, que se puede encontrar en este enlace.


Mario Parra
@MPAlonso_
Más información

A curious tale of remote code execution. The TP-Link story - CVE-2017-13772
https://www.fidusinfosec.com/tp-link-remote-code-execution-cve-2017-13772/


CERTSI
https://www.certsi.es/alerta-temprana/vulnerabilidades/cve-2017-13772

SecList
http://seclists.org/fulldisclosure/2017/Oct/49

Exploit
https://www.exploit-db.com/exploits/43022/