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.
Si pasamos una cadena
superior a 50 caracteres al campo 'pingAddr' desencadenamos la denegación del
servicio y el reinicio del dispositivo.
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 críticas, pues fuera 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. https://www.exploit-db.com/exploits/43022/
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/