CVE-2017-6884
Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.
Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.
Resumo
Injeção de comandos OS (CWE-78) na funcionalidade de diagnóstico (nslookup) do roteador doméstico Zyxel EMG2926, explorável via parâmetro ping_ip da URI /expert/maintenance/diagnostic/nslookup. O produto está em fim de vida e sem correção oficial disponível nas fontes revisadas, e a falha está no catálogo KEV da CISA por exploração confirmada em campo, apesar de exigir sessão autenticada no painel administrativo.
Detalhamento técnico
A página de diagnóstico do firmware da EMG2926 implementa a função nslookup/ping repassando o valor informado pelo usuário diretamente para um comando de shell no sistema embarcado (busybox/ash), sem sanitização de metacaracteres. O parâmetro ping_ip (e, segundo a descrição do fornecedor, 'numerosos vetores' dentro do mesmo endpoint, não apenas esse campo) é concatenado à chamada de sistema que executa o utilitário de resolução de nomes/ping.
O PoC público demonstra que basta anexar um separador de comando (ponto e vírgula) seguido de um comando arbitrário ao valor de ping_ip para que ele seja executado com os privilégios do processo CGI do roteador — que, pelas evidências do dump de /etc/passwd no PoC, tem acesso de leitura a arquivos de sistema típicos de root/admin (usuários root, supervisor e admin com hashes $1$/MD5crypt).
O vetor CVSS (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) indica que a exploração é remota, de baixa complexidade, sem interação do usuário, mas exige privilégio baixo — ou seja, uma sessão autenticada válida no painel web do roteador (o PoC usa um token stok e cookie sysauth ativos), não acesso anônimo.
Não há detalhes técnicos adicionais do fornecedor nas fontes disponíveis sobre o parser interno ou sobre quais outros parâmetros/endpoints da ferramenta de diagnóstico são vulneráveis além de ping_ip; a descrição oficial e o registro da CISA mencionam 'numerosos vetores' sem especificá-los.
Como é explorada
O atacante precisa de uma sessão autenticada no painel administrativo do roteador (token stok e cookie sysauth válidos) e acesso de rede ao endpoint /cgi-bin/luci/;stok=/expert/maintenance/diagnostic/nslookup — na prática isso cobre tanto um usuário autenticado local/LAN quanto um atacante que já obteve credenciais (padrão, vazadas, ou via outra falha de autenticação/CSRF encadeada) para a interface de gerência, inclusive se ela estiver exposta à internet.
Com a sessão válida, a exploração é trivial: enviar uma requisição GET/POST ao endpoint de nslookup com o parâmetro ping_ip contendo um endereço/hostname seguido de um separador de shell e o comando desejado. O PoC público demonstra dois resultados: abertura de reverse shell via netcat e exfiltração do /etc/passwd do dispositivo, confirmando execução arbitrária de comandos no contexto do sistema embarcado.
A CISA classifica a vulnerabilidade como de exploração confirmada em campo (KEV), o que sugere uso oportunista contra parques de dispositivos EMG2926 expostos com credenciais padrão ou fracas — cenário comum em roteadores CPE de operadoras. O impacto final é controle total do dispositivo: leitura/alteração de configuração, pivotagem para a rede interna do usuário, e uso do roteador como nó de botnet.
Versões
Como se proteger
As fontes disponíveis não indicam uma versão de firmware corrigida publicada pelo fornecedor; a nota da CISA no catálogo KEV recomenda 'aplicar mitigações conforme instruções do fornecedor ou descontinuar o uso do produto se não houver mitigação disponível', e cita explicitamente a página de fim de vida (EOL) do Zyxel EMG2926 — ou seja, o produto não recebe mais patch de segurança do fabricante.
Como paliativo real na ausência de atualização: desabilitar/bloquear o acesso remoto ao painel de administração (interface web) do roteador, restringindo-o à LAN local; trocar credenciais padrão de admin/supervisor; e, quando possível, desativar a ferramenta de diagnóstico (nslookup/ping) na interface se o firmware permitir. Nenhuma dessas medidas elimina a falha de injeção — apenas reduz a superfície de quem consegue autenticar e alcançar o endpoint vulnerável.
Substituição do dispositivo é a mitigação de fato recomendada dado o status EOL. Não confiar em filtragem de WAN genérica como mitigação suficiente: se o atacante já tem uma sessão válida (ex.: via credenciais fracas ou vazadas), a exploração ocorre inteiramente sobre HTTP/HTTPS legítimo ao painel administrativo, indistinguível de tráfego normal sem inspeção do parâmetro ping_ip.
Como detectar
Em logs de acesso web do roteador (ou de proxy/WAF na frente dele), procurar requisições para o caminho /cgi-bin/luci/;stok=.../expert/maintenance/diagnostic/nslookup contendo nos parâmetros ping_ip ou server_ip metacaracteres de shell — ponto e vírgula, pipe, crase, $() ou concatenação de comandos (ex.: 'nc', 'cat /etc/passwd', 'wget', 'busybox'). Respostas HTTP contendo conteúdo típico de /etc/passwd ou saída de comando fora do formato esperado de nslookup/ping também são indício de exploração bem-sucedida.
Como o vetor exige sessão autenticada (cookie sysauth válido), tentativas de exploração tendem a vir após ou junto de autenticação bem-sucedida na interface de gerência — monitorar padrões de login seguidos imediatamente por chamadas ao endpoint de diagnóstico é um sinal relevante. Não há assinatura oficial de IDS/IPS citada nas fontes revisadas para esta CVE específica.