CVE-2017-6077
Prioriza la corrección. Ella está bajo explotación confirmada por CISA y tiene prueba de concepto pública.
Apply updates per vendor instructions.
Resumen
Falha de injeção de comandos OS (CWE-78) no endpoint ping.cgi dos roteadores NETGEAR DGN2200, explorável via o campo ping_IPAddr de uma requisição POST. A CVE está no catálogo KEV da CISA com exploração confirmada e PoC pública, mas a descrição oficial fala em 'usuários remotos autenticados' — na prática, o PoC circula justamente porque essas credenciais são triviais (padrão de fábrica ou hardcoded em certas versões de firmware), o que reduz bastante a barreira real de exploração.
Detalle técnico
O script CGI ping.cgi implementa a função de diagnóstico 'ping' do painel administrativo do DGN2200, provavelmente chamando o binário ping do sistema embarcado e concatenando o valor recebido no campo ping_IPAddr diretamente numa linha de comando de shell, sem sanitização de metacaracteres (;, |, &, `). Isso é uma injeção de comandos clássica (CWE-78): o atacante controla integralmente o conteúdo desse campo e pode anexar comandos arbitrários após um IP válido, que são executados com os privilégios do processo httpd/CGI — tipicamente root nesses dispositivos embarcados.
A rota de acesso ao ping.cgi exige autenticação HTTP Basic no painel web (por isso a descrição do fornecedor classifica como 'remote authenticated user'), e o PoC público envia um Referer forjado apontando para a página de diagnóstico (DIAG_diag.htm) para simular uma requisição legítima vinda da interface administrativa.
O ponto crítico que a descrição oficial não deixa claro: o PoC documentado usa credenciais padrão de fábrica (admin/password), e nota que outras combinações (Gearguy/Geardog, Guest/Guest) estão hardcoded em algumas versões de firmware. Isso significa que 'autenticado' não implica 'com credenciais legítimas configuradas pelo dono do dispositivo' — na maioria dos DGN2200 em produção que nunca tiveram a senha padrão alterada, a barreira de autenticação é nula na prática.
Os dispositivos DGN2200 não expõem telnet/SSH nativamente, então o próprio ping.cgi é usado como canal para obter um shell interativo (via loop de comandos encadeados no mesmo campo), o que explica por que essa CVE é tratada como RCE completo e não apenas injeção pontual.
Cómo se explota
O vetor é uma requisição HTTP POST para /ping.cgi na interface de gerenciamento web do roteador, com o payload de comando injetado no campo ping_IPAddr (ex.: um IP seguido de ponto-e-vírgula e o comando desejado). Pré-requisito real: acesso à interface administrativa do dispositivo (normalmente a rede LAN/Wi-Fi doméstica, mas exposta à WAN em configurações de gerenciamento remoto habilitado ou dispositivos mal configurados) e credenciais válidas — que na prática costumam ser as padrão de fábrica, nunca alteradas pelo usuário final.
A complexidade de exploração é baixa: não há necessidade de interação do usuário, bypass de proteção de memória, nem conhecimento de estado interno da aplicação além do formato do POST. O PoC público (exploit-db 41394) automatiza autenticação, injeção e leitura da saída do comando via parsing do HTML retornado, entregando efetivamente um shell interativo com privilégios elevados no dispositivo.
O resultado final é execução arbitrária de comandos no sistema embarcado do roteador, geralmente com privilégios equivalentes a root, permitindo persistência, pivoteamento para a rede interna, interceptação de tráfego ou incorporação do dispositivo em botnets — padrão de uso comum para vulnerabilidades de RCE em roteadores domésticos incluídas no catálogo KEV.
Versiones
Cómo protegerse
A CISA lista a ação recomendada apenas como 'aplicar atualizações conforme instruções do fornecedor' (KEV, prazo de correção definido para 2022-09-07), sem versão de firmware corrigida especificada nas fontes disponíveis. Não foi possível confirmar aqui qual build de firmware da NETGEAR resolve a falha — não invente esse número; verifique diretamente no suporte/downloads oficiais do modelo DGN2200 antes de declarar o ambiente corrigido.
Como paliativo real, na ausência de patch confirmado: trocar imediatamente as credenciais padrão de acesso ao painel administrativo (isso já elimina o vetor de exploração trivial documentado no PoC), desabilitar gerenciamento remoto/WAN da interface web, e restringir acesso à interface de administração apenas à LAN confiável. Esses controles não corrigem a falha de injeção em si, mas eliminam a pré-condição de autenticação fácil que torna o PoC público efetivo.
O que não funciona: assumir que 'exigir autenticação' já mitiga o risco — é justamente essa suposição que a descrição oficial deixa implícita e que o PoC desmonta, já que credenciais padrão/hardcoded tornam a autenticação uma barreira nominal. Dado que o DGN2200 é modelo antigo e comumente fora de suporte ativo, a recomendação técnica é validar se há build de firmware corrigido disponível para o hardware específico (v1/v2/v3/v4 têm builds distintos) e, se não houver, tratar o dispositivo como ativo de alto risco a ser isolado ou substituído.
Cómo detectar
Em logs do servidor web embarcado (se houver retenção), procurar por requisições POST para /ping.cgi contendo metacaracteres de shell (;, |, &, `, $()) no valor de ping_IPAddr, especialmente quando o campo contém texto além de um endereço IP bem formado. Um indicador adicional do PoC conhecido é o cabeçalho Referer forjado apontando para DIAG_diag.htm sem navegação legítima anterior pela interface — mas como esses dispositivos raramente mantêm log persistente ou exportam syslog, na maioria dos ambientes domésticos não há sinal confiável disponível para detecção retroativa; o controle prático é auditar diretamente se o dispositivo aceita credenciais padrão e se a interface de gerenciamento está exposta à WAN.