CVE-2017-6334
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
The impacted product is end-of-life and should be disconnected if still in use.
Resumo
Falha de injeção de comandos OS (CWE-78) no script dnslookup.cgi dos roteadores NETGEAR DGN2200, explorável por um usuário autenticado que controla o campo host_name de uma requisição POST. Está no catálogo KEV da CISA por exploração confirmada, mas a CISA classifica o produto como fim de vida e recomenda desconexão em vez de correção — não existe patch do fornecedor documentado nas fontes analisadas.
Detalhamento técnico
O endpoint dnslookup.cgi recebe um parâmetro host_name e o passa, sem sanitização adequada, para um comando de sistema que executa a resolução de nome (provavelmente um wrapper para nslookup/ping no firmware embarcado). Como o valor do campo é concatenado diretamente na linha de comando do shell, caracteres de metacaracteres como ';' permitem encadear um segundo comando arbitrário após a consulta DNS legítima — um SO Command Injection clássico (CWE-78) via input não validado.
O PoC público demonstra isso enviando 'www.google.com; ' no campo host_name junto com o parâmetro lookup=Lookup. O comando injetado é executado com os privilégios do processo httpd do dispositivo, que na maioria dos firmwares dessa linha corresponde a root, dando controle total sobre o sistema operacional embarcado (BusyBox/Linux customizado).
O vetor exige requisição HTTP POST autenticada — a interface administrativa do DGN2200 usa HTTP Basic Auth. O CVSS classifica PR:L (privilégio baixo) porque a exploração direta pressupõe apenas credenciais de usuário comum da interface web, não necessariamente de administrador total, embora o acesso à interface de gerência já implique controle amplo do dispositivo.
Como é explorada
Na forma direta, o atacante precisa de rede até a interface HTTP de gerência do dispositivo (normalmente a LAN, mas exposta à internet em configurações incorretas de administração remota) e de credenciais válidas de HTTP Basic Auth. Como o DGN2200 é um roteador doméstico frequentemente deixado com credenciais padrão (admin/password, e segundo o autor do PoC, credenciais adicionais hardcoded como Gearguy/Geardog ou Guest/Guest em algumas versões de firmware), o pré-requisito de autenticação é trivial na prática — a maioria dos ataques automatizados testa credenciais padrão antes de tentar a injeção.
Existe ainda um vetor indireto documentado pelos próprios pesquisadores: uma CSRF separada (CVE-2017-6366) no painel do DGN2200 permite que uma página maliciosa force o navegador de um administrador já autenticado a enviar o POST malicioso para dnslookup.cgi, resultando em RCE sem que o atacante precise conhecer a senha — descrito pelo autor original como 'unauthenticated RCE (sic)' quando as duas falhas são encadeadas. Essa combinação é mais perigosa que a CVE-2017-6334 isolada, pois elimina a barreira de credenciais.
A injeção é 'blind': a resposta HTTP não retorna a saída do comando, então exploração prática (inclusive o módulo Metasploit e o script Python públicos) opera como shell cego, encadeando comandos e observando efeitos colaterais (ex.: reboot do dispositivo) ou usando técnicas fora de banda para extrair resultado. A presença no catálogo KEV da CISA confirma exploração ativa em campo, embora a nota da CISA não detalhe campanhas específicas.
Versões
Como se proteger
Não há, nas fontes consultadas, indicação de firmware do fornecedor que corrija a falha — o PoC de fevereiro de 2017 já descrevia a versão mais recente disponível na época (10.0.0.50) como ainda vulnerável ('still 0-day'), e a CISA, ao incluir a CVE no KEV em 2022, classifica o DGN2200 como produto em fim de vida, recomendando desconexão do dispositivo em vez de atualização.
Como paliativo real: desabilitar administração remota (acesso à interface web pela WAN), trocar credenciais padrão de administração e restringir o acesso à interface de gerência apenas a hosts confiáveis na LAN reduzem a superfície de ataque, mas não eliminam o risco caso um atacante já tenha acesso à rede interna ou explore a CSRF associada. Segmentar a rede para impedir que dispositivos não confiáveis alcancem a interface de gerência do roteador é o controle compensatório mais eficaz disponível sem trocar o hardware.
Não funciona como mitigação: apenas trocar a senha padrão sem desabilitar acesso remoto, pois a vulnerabilidade também é alcançável via CSRF explorando a sessão de um administrador já autenticado, sem que o atacante precise conhecer a credencial.
Como detectar
Em logs do servidor web embarcado (httpd do DGN2200), procurar requisições POST para /dnslookup.cgi cujo parâmetro host_name contenha metacaracteres de shell (';', '|', '`', '&&') após um valor de hostname aparentemente legítimo — o padrão clássico do PoC é algo como 'www.google.com; '. Como a interface usa HTTP Basic Auth, também vale correlacionar tentativas de autenticação com credenciais padrão conhecidas (admin/password) seguidas de POST a esse endpoint.
Não há sinal de rede confiável adicional documentado nas fontes: a exploração pode ocorrer via requisição direta autenticada ou via CSRF disparada a partir do navegador de um administrador em outro site, cenário em que o tráfego malicioso não deixa rastro distinto no lado do roteador além do POST em si.