← back
CVE-2017-18368criticalunder attackCWE-78

CVE-2017-18368

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 9.8epss 95%
from disclosure to weapon0 days
Published on NVDMay 2
1st PoCMar 30
metasploitDec 26
CISA KEV+1558d
exploitation probability
95%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
1 public exploit(s)
Action required by CISAfederal deadline: 2023-08-28

Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.

Summary

Falha de command injection não autenticada no roteador ZyXEL P660HN-T1A v1 (firmware TCLinux customizado para a operadora tailandesa TrueOnline), na função de encaminhamento de log remoto exposta em ViewLog.asp. Qualquer atacante com acesso à interface web do dispositivo executa comandos arbitrários com privilégios do processo web, sem login — daí o CVSS 9.8 ser realista, e não inflado. É explorada ativamente por variantes de botnets Mirai/Gafgyt para IoT desde 2019, e está no catálogo KEV da CISA.

Technical detail

A página ViewLog.asp implementa a tela 'Maintenance > Logs > System Log > Remote System Log' do painel administrativo. O endpoint aceita via POST o parâmetro remote_host, que deveria conter apenas um endereço IP ou hostname do servidor de syslog remoto. O firmware concatena esse valor diretamente em uma chamada de shell (provavelmente na configuração do serviço de syslog do BOA webserver / TCLinux) sem sanitização — CWE-78, Improper Neutralization of Special Elements used in an OS Command.

O atacante controla o campo remote_host e injeta um separador de comando (';') seguido do comando arbitrário e um caractere de comentário ('#') para descartar o restante da linha original, ex.: remote_host=;;#. O processo que interpreta essa string executa o payload injetado com os mesmos privilégios do daemon responsável pelo log — em dispositivos embarcados desse tipo isso normalmente equivale a root.

O mesmo advisory que originou esta CVE (SSD/Beyond Security, Pedro Ribeiro) documentou outras três falhas relacionadas em roteadores ZyXEL/Billion distribuídos pela TrueOnline (Billion 5200W-T não autenticado e autenticado, e ZyXEL P660HN-T v2 autenticado com senha de supervisor hardcoded), além de contas padrão fixas no firmware. A CVE-2017-18368 cobre especificamente a injeção não autenticada via ViewLog.asp/remote_host no P660HN-T1A v1 — as demais falhas do mesmo relatório têm CVEs próprios ou não constam aqui.

How it’s exploited

O vetor é uma requisição HTTP POST direta para /cgi-bin/ViewLog.asp, sem necessidade de sessão, cookie ou credencial — basta acesso de rede à porta de gerenciamento web do roteador (tipicamente exposta na LAN, e em muitos casos, por má configuração do ISP, também na WAN). O corpo da requisição inclui os campos remote_submit_Flag, remote_syslog_Flag, RemoteSyslogSupported, LogFlag e o remote_host malicioso, terminando com remoteSubmit=Save para acionar o salvamento da configuração e a execução do comando injetado.

A exploração é trivial: um único POST HTTP é suficiente, sem necessidade de encadear passos ou contornar autenticação. Por isso a falha é amplamente usada por scanners automatizados e botnets — a Unit 42 documentou em março de 2019 uma variante do Mirai com um exploit dedicado a este endpoint (tag interna ZyxelP660HN_RCE), incluído junto com outros 26 exploits contra dispositivos IoT/embarcados diversos, usado para infectar o roteador e recrutá-lo para ataques DDoS. Existe módulo público no Metasploit e PoC pública (Pedro Ribeiro/PoC repo), o que reduz ainda mais a barreira de exploração.

O resultado final é execução de comando arbitrário no sistema, geralmente usada para baixar e executar um binário (via tftp/wget) que assume controle total do dispositivo — root shell, persistência do malware, e uso do roteador como nó de botnet ou pivô para a rede interna.

Versions

Affected
ZyXEL P660HN-T1A v1, firmware TCLinux versão "7.3.15.0 v001 / 3.40(ULM.0)b31", distribuído pela operadora TrueOnline (Tailândia).

How to protect

No momento da publicação do advisory (dezembro de 2016), a ZyXEL foi notificada em julho de 2016 e não respondeu; o próprio SSD Disclosure registra que 'at this time there is no solution or workaround for these vulnerabilities'. A ZyXEL posteriormente publicou um comunicado de segurança específico para essa vulnerabilidade (referenciado pela CISA), mas o conteúdo detalhado desse advisory — versões de firmware corrigidas, se existirem — não foi confirmado nas fontes consultadas aqui; não invente número de build sem checar o comunicado diretamente.

A ação recomendada pela CISA no catálogo KEV é objetiva: aplicar as mitigações do fornecedor ou descontinuar o uso do produto caso não existam mitigações disponíveis. Dado o histórico de não resposta do fornecedor e o modelo ser antigo/descontinuado (distribuído até ~2013 pela TrueOnline), o caminho realista para a maioria dos ambientes é isolar ou substituir o equipamento: nunca expor a interface de administração à WAN, restringir acesso à porta de gerenciamento via VLAN/firewall dedicado, e desativar a função de Remote System Log se não for utilizada.

Não funciona como mitigação: trocar apenas a senha de admin — a falha é pré-autenticação e não depende de credenciais; e usar apenas filtragem por User-Agent ou assinatura de payload de botnet conhecida, já que o vetor é uma requisição HTTP legítima de configuração, facilmente reescrita por qualquer atacante manual.

How to detect

Em logs de servidor web/aplicação embarcada, procurar requisições POST para /cgi-bin/ViewLog.asp cujo corpo contenha o parâmetro remote_host com metacaracteres de shell (';', '`', '#', '|', '&') em vez de um IP/hostname válido — padrão observado: remote_submit_Flag=1&remote_syslog_Flag=1&RemoteSyslogSupported=1&LogFlag=0&remote_host=;;#&remoteSubmit=Save. Como o dispositivo tipicamente não gera log centralizado, esse tráfego só é visível se houver um IDS/proxy na frente do roteador capturando requisições HTTP.

No tráfego de rede mais amplo, indícios de comprometimento incluem tentativas de download subsequentes via tftp ou wget originadas do próprio dispositivo (busca por binários ELF MIPS), e conexões de saída para infraestrutura de C2 associada a variantes Mirai/Gafgyt. Não há um IOC de rede único e confiável documentado nas fontes — a exploração é uma requisição HTTP genérica de configuração, difícil de distinguir de tráfego administrativo legítimo sem inspecionar o conteúdo do parâmetro.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
The ZyXEL P660HN-T1A v1 TCLinux Fw $7.3.15.0 v001 / 3.40(ULM.0)b31 router distributed by TrueOnline has a command injection vulnerability in the Remote System Log forwarding function, which is accessible by an unauthenticated user. The vulnerability is in the ViewLog.asp page and can be exploited through the remote_host parameter.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected products
n/a · n/a
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.