Encuentran vulnerabilidades XSS en routers y APs de TP-Link fácil de explotar
Se ha descubierto un grave fallo de seguridad de tipo XSS en varios modelos de routers neutros, ADSL y puntos de acceso del fabricante TP-Link. Esta vulnerabilidad permitiría inyectar un payload XSS malicioso desde el hostname de los clientes inalámbricos que están conectados al router de TP-Link, permitiendo a los atacantes remotos ejecutar scripts maliciosos, y todo ello sin autenticarnos en el equipo, porque TP-Link no ha incorporado una validación correcta en el nombre del host. ¿Quieres conocer más sobre este grave fallo de seguridad que afectan a múltiples modelos de TP-Link? Os recomendamos leer nuestro tutorial sobre diferencias entre dirección IP y MAC.
¿En qué consiste una vulnerabilidad XSS?
Una vulnerabilidad de tipo XSS (Cross-site scripting) es un tipo de vulnerabilidad muy típico en las aplicaciones web que están mal programadas, y que no se ha tenido en cuenta la seguridad de las mismas a la hora de programarlo o diseñarlo. Este tipo de vulnerabilidades podrían permitir a cualquiera inyectar código JavaScript u otro lenguaje en el propio dispositivo, permitiendo tomar el control total del dispositivo o ejecutar los comandos que nosotros queramos. Descubre cómo ver los equipos conectados en red con Windows.
XSS también se puede utilizar para robar información delicada, como credenciales de usuario, secuestrar sesiones de usuario, comprometer por completo el dispositivo atacado y mucho más. Normalmente estos fallos de seguridad no son demasiados graves si antes se realiza una autenticación en el sistema, pero existen fallos XSS sin autenticación de ningún tipo, por tanto, cualquier usuario podría ejecutar comandos arbitrarios en los dispositivos, y es justamente lo que ha ocurrido con varios equipos de TP-Link.
¿Cuál es exactamente la vulnerabilidad XSS en los TP-Link?
Se ha descubierto que se podría inyectar código malicioso a través de XSS a través del nombre de host de los dispositivos clientes WiFi, permitiendo a un atacante remoto ejecutar scripts maliciosos sin ningún tipo de autenticación. Esto se debe a una validación incorrecta de nombre de host, además, esta función está presente en muchas partes del código fuente, como en las páginas dhcp.htm, networkMap.htm, dhcpClient.htm, qsEdit.htm, qsReview.htm y también en otras.
Debido a esta mala validación, se causaría un XSS en todas las partes donde se muestre el hostname de los dispositivos conectados, como en la tabla de información de clientes WiFi, la tabla ARP, e incluso en el DHCP. Por tanto, este fallo de seguridad XSS está presente en muchas partes del código fuente de TP-Link.
Por ejemplo, el valor de hostname solamente valida los caracteres ASCII, mientras que no hay ningún tipo de validación en caracteres no-ASCII, haciendo que se puede incorporar carga útil en el XSS. Por ejemplo, si ponemos:
Los equipos de TP-Link enviarán este valor de nombre de host como texto sin formato junto con la dirección IP y dirección MAC en la función initClientListTable y también en otras tablas, usando el mismo valor de nombre de host en todo el dispositivo.
Routers afectados
Actualmente hay varios modelos de routers, routers ADSL y también puntos de acceso afectados por esta vulnerabilidad, pero no se sabe si otros modelos también podrían estar afectados. Los modelos vulnerables son los siguientes:
- TD-W9977v1 (router ADSL)
- TL-WA801NDv5 (punto de acceso)
- TL-WA801Nv6 (punto de acceso)
- TL-WA802Nv5 (punto de acceso)
- Archer C3150v2 (router neutro)
Actualmente TP-Link ha lanzado nuevas versiones de firmware que solucionan estos problemas para los modelos afectados de puntos de acceso, sin embargo, parece ser que para el router ADSL y el router neutro no se lanzará una actualización porque se ha dejado de dar soporte (EOL product) tal y como indica en el exploit de esta vulnerabilidad que ya es público. Os recomendamos visitar nuestro tutorial para instalar y configurar TP-Link Omada Controller.
Teniendo en cuenta la gravedad de este fallo, es recomendable que dejes de usar los routers afectados, porque cualquiera conectado a la red podría inyectar comandos vía XSS. Tendrás que comprar un nuevo router porque no van a lanzar un firmware nuevo para solucionar este fallo de seguridad que se ha encontrado.
¿Puedo explotar esta vulnerabilidad en el router y comprobar si estoy afectado?
Sí, los pasos a realizar son realmente fáciles de replicar. Actualmente TP-Link ha lanzado un firmware para estos dispositivos que soluciona este grave problema, pero lo mejor es que compruebes si estás afectado por este fallo de seguridad.
- Cambia el nombre del hostname de tu cliente WiFi o cable a: «»
- Desconecta y vuelve a conectar al router, para que refresque el hostname.
- Inicia sesión en el router, y ve hasta opciones DHCP o en el listado de clientes WiFi conectados.
- Verás el payload XSS que acabas de poner.
Tal y como podéis ver, el ataque se inicia en el cliente sin necesidad de realizar nada más que cambiar el nombre del host, porque TP-Link no lo valida en el firmware.
Os recomendamos acceder a 0day.exploit donde encontraréis todos los detalles de este fallo de seguridad, se le ha asignado el identificador CVE-2021-3275 a esta vulnerabilidad. Ya está disponible en varias webs sobre vulnerabilidades como vuldb.com e incluso tenemos la información en GitHub. Es muy probable que próximamente aparezcan exploits para explotar esta vulnerabilidad.