CVE-2018-10562
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
Roteadores domésticos GPON da Dasan (posteriormente DZS) permitem injeção de comandos via o parâmetro dest_host em requisições diag_action=ping ao endpoint GponForm/diag_Form. A falha só é útil em massa porque se combina com CVE-2018-10561 (bypass de autenticação no mesmo firmware), eliminando a necessidade de credenciais e tornando a exploração trivial e totalmente remota. Está na KEV da CISA com exploração confirmada, mas o produto é EOL — a recomendação oficial é desconectar o equipamento, não corrigir.
Detalhamento técnico
A falha é um Command Injection (CWE-78) no endpoint GponForm/diag_Form, que implementa a função de diagnóstico (ping/traceroute) da interface web do roteador. O parâmetro dest_host, enviado no corpo da requisição junto com diag_action=ping, wan_conlist e ipv, é passado para um comando de shell no lado do dispositivo sem sanitização. Pesquisadores demonstraram que caracteres de shell como crase (`) e ponto-e-vírgula (;) são interpretados literalmente, permitindo concatenar comandos arbitrários ao host de destino do ping — comportamento típico de firmwares embarcados que montam strings de comando via busybox/system() sem validar entrada.
O mecanismo de exfiltração do resultado é parte central da falha: o dispositivo grava a saída do ping em /tmp e a expõe de volta ao usuário quando ele acessa /diag.html, que lê e renderiza esse arquivo como variável diag_result. Isso significa que o atacante não precisa de canal de saída (out-of-band) — basta enviar o comando injetado e, em seguida, requisitar /diag.html para ler a saída em texto plano na resposta HTTP.
A CVE-2018-10562 isoladamente pressupõe acesso autenticado ao painel de diagnóstico. O que a torna crítica na prática é a CVE-2018-10561, uma falha de bypass de autenticação nos servidores HTTP desses firmwares: qualquer endpoint (incluindo GponForm/diag_Form e diag.html) pode ser acessado sem sessão válida ao anexar a string de query '?images/' à URL, explorando uma checagem de caminho falha no processo de autenticação do servidor web embarcado.
Como é explorada
O vetor é HTTP/HTTPS direto contra a interface de gerência do roteador, tipicamente exposta na LAN e, em configurações de operadora ou port-forwarding incorreto, também na WAN. A cadeia de exploração documentada por pesquisadores consiste em duas requisições sem autenticação: primeiro um POST para /GponForm/diag_Form?images/ com diag_action=ping e o payload injetado no campo dest_host (usando crase ou ponto-e-vírgula, já que modelos distintos reagem a delimitadores diferentes); depois um GET para /diag.html?images/ para recuperar a saída do comando, que o firmware grava em /tmp e insere na variável diag_result renderizada na página.
Versões
Como se proteger
Não existe patch de fornecedor disponível para corrigir a vulnerabilidade nos modelos afetados. A DZS (sucessora da Dasan) classificou os produtos ZNID-GPON-25xx e determinados modelos H640-series como afetados, mas declarou que estão além do fim de vida útil e não recebem mais contratos de suporte de software — não há atualização de firmware corretiva confirmada pelo fornecedor nas fontes disponíveis. A própria CISA, ao incluir a CVE no catálogo KEV, define a ação recomendada como desconectar o dispositivo afetado da rede, não aplicar atualização.
Como detectar
Em logs do servidor web embarcado ou em tráfego de rede capturado, procurar requisições POST para /GponForm/diag_Form contendo o parâmetro diag_action=ping combinado com dest_host que inclua caracteres de shell (crase, ponto-e-vírgula, pipe) ao invés de um hostname/IP legítimo, seguidas em poucos segundos por um GET para /diag.html — esse par de requisições é a assinatura do exploit público. A presença do sufixo de query '?images/' em URLs para endpoints administrativos (menu.html, GponForm/*) sem cookie de sessão válido indica tentativa de bypass de autenticação (CVE-2018-10561) associada. Como o dispositivo é tipicamente um CPE sem logging centralizado, a ausência desses registros não garante que a exploração não ocorreu — muitos ambientes não retêm log algum desses equipamentos.