Detectan Vulnerabilidades en equipos Zyxel, permitiendo ejecución de código arbitrario.




Investigadores de VulnCheck han identificado de manera independiente varias vulnerabilidades en los dispositivos Zyxel Customer Premises Equipment (CPE) tras analizar equipos en entornos reales.

Este es un fallo en la interfaz web de administración que, aunque requiere autenticación en cierta medida, permite la ejecución de código como usuario root. Si bien aún no se ha recibido confirmación oficial del fabricante, se cree que al menos los siguientes modelos de routers Zyxel CPE están afectados:

  • VMG1312-B10A / B10B / B10E
  • VMG3312-B10A
  • VMG3313-B10A
  • VMG3926-B10B
  • VMG4325-B10A
  • VMG4380-B10A
  • VMG8324-B10A
  • VMG8924-B10A
  • SBG3300 / SBG3500

Diferentes motores de búsqueda han detectado miles de dispositivos con la interfaz HTTP administrativa expuesta:

  • Shodan: ~3.500 dispositivos
  • Censys: ~1.250 dispositivos
  • FOFA: ~20.000 dispositivos
  • ZoomEye: ~1.500 dispositivos


Estos equipos están distribuidos en diversas regiones, incluyendo Estados Unidos, Turquía, Filipinas, Sudáfrica y Francia.

En los dispositivos de prueba, las credenciales ocultas previamente discutidas en informes anteriores, así como la cuenta aprovisionada, pueden utilizarse en la interfaz HTTP, lo que facilita la explotación de la falla. La existencia de una cuenta oculta y/o predeterminada indocumentada agrava el riesgo, ya que permite explotar la vulnerabilidad sin necesidad de autenticación.

El procesamiento de solicitudes se realiza a través del binario responsable de la función httpd.cgi, particularmente en la ruta /pages/tabFW/disagnostic-general.cgi. Durante la manipulación de estas solicitudes, el firmware modifica las extensiones de archivo, sustituyendo .cgi por .html.cgi.



En el código descompilado, se observa que el script disagnostic-general.cgi asigna el parámetro diagAddr, el cual es posteriormente procesado por la función cmsUtl_isUnsafeString. Este mecanismo de filtrado bloquea metacaracteres comunes de shell, como "<>%^`[]+$=#&:;(){}|/", sin embargo, no impide el uso del carácter de nueva línea, lo que resulta en una vulnerabilidad crítica.





El parámetro controlado por un atacante se transfiere a cgiSetDiagnostic, lo que finalmente desencadena una bifurcación mediante /bin/sh -c {command} {diagAddr}. Esta falla permite la ejecución de comandos arbitrarios y la generación de shells, lo que representa una amenaza significativa para la seguridad de los dispositivos afectados.

El establecimiento de un shell de enlace (bindshell) en los dispositivos Zyxel vulnerables es un proceso relativamente sencillo. Un atacante solo necesita completar dos pasos: autenticarse para obtener una cookie y recuperar un token CSRF desde SESSION/pages/maintenance/disagnostic/pingTest.html. A partir de ese punto, ejecutar un bindshell es tan simple como anexar la siguiente línea de código al parámetro diagAddr:

\nbusybox+telnetd+-l+sh+-p+1270
Exploración de un Shell Inverso

Una vez establecido el shell de enlace, el siguiente paso consiste en intentar un shell inverso. Sin embargo, a diferencia de un bindshell, este enfoque presenta desafíos adicionales debido a restricciones en la entrada de comandos.

Los métodos convencionales de shell inverso, que emplean herramientas como telnet, nc o openssl, no son viables en este caso, ya que el sistema aplica filtrado de metacaracteres. Además, la función cmsUtl_isUnsafeString restringe el uso de comandos como wget, incluso en su variante busybox, impidiendo así la descarga directa de archivos ejecutables.

Para superar estas restricciones, los investigadores lograron ejecutar un shell inverso utilizando el binario tftp (presente en la variante busybox). Este método permitió descargar y ejecutar una carga útil compilada, simplificando significativamente el proceso:

/hom/bin/l

Conclusión



La combinación de un filtrado de entrada deficiente, credenciales predeterminadas inseguras y una interfaz administrativa expuesta facilita la ejecución remota de código en estos dispositivos.

Si bien los modelos afectados ya no cuentan con soporte oficial, miles de unidades siguen expuestas en línea, representando un riesgo significativo para la seguridad. La falta de soporte no impide su explotación activa, lo que subraya los peligros de mantener infraestructura obsoleta conectada a Internet sin medidas de protección adecuadas.

Si te gusta este contenido, no olvides seguirnos en nuestras redes sociales!: