D-Link DIR-859 HTTP POST Request hedwig.cgi path traversal
Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
Resumo
Um path traversal não autenticado no script /hedwig.cgi do D-Link DIR-859 (firmware 1.06B01) permite ler arquivos de configuração internos do roteador, incluindo um XML que expõe em texto claro a senha da conta de administrador do painel web. O CVSS oficial divulgado varia enormemente entre fontes (5.3 pela VulDB vs 9.8 calculado pela NVD), mas na prática o impacto é total: com a credencial vazada o atacante assume o painel admin. O produto está em fim de vida desde dezembro de 2020 e a CISA confirma exploração ativa, colocando-o no catálogo KEV.
Detalhamento técnico
O endpoint /hedwig.cgi processa requisições HTTP POST e usa um parâmetro chamado "service" para montar, internamente, o caminho de um arquivo XML de configuração dentro de /htdocs/webinc/getcfg/. Esse mecanismo ("getcfg") foi pensado para servir apenas fragmentos de configuração pré-definidos do próprio diretório, mas o valor recebido no corpo da requisição não é validado nem restringido antes de ser usado para localizar o arquivo — CWE-22, Improper Limitation of a Pathname to a Restricted Directory.
Como não há verificação de que o caminho resultante permaneça dentro do diretório getcfg, sequências "../" no corpo da requisição fazem o processo do servidor web ler qualquer arquivo XML acessível ao seu contexto de execução, não apenas os destinados à exposição pública. No PoC divulgado, o caminho manipulado resolve para DHCPS6.BRIDGE-1.xml, um arquivo de configuração interno que retorna, entre outros dados, o bloco com nome de usuário e senha da conta Admin em texto claro, além de configurações de rede, DHCP, NTP e parâmetros de sessão (timeout, maxsession).
A falha está inteiramente no lado do servidor: o atacante controla o valor do parâmetro "service" enviado no corpo da requisição POST, e o dispositivo não distingue entre um nome de arquivo de configuração legítimo e um caminho relativo malicioso.
Como é explorada
A exploração consiste em uma única requisição HTTP POST para /hedwig.cgi, com Content-Type text/xml, cujo corpo contém o caminho relativo até o arquivo de configuração alvo. O PoC público usa um cabeçalho Cookie (uid=123) na requisição, mas o pesquisador classifica a falha como não autenticada — não há evidência de que esse cookie precise corresponder a uma sessão válida; ele parece um valor arbitrário aceito pelo endpoint. Não há CAPTCHA, token CSRF ou outro controle interposto documentado.
O pré-requisito real é acesso de rede à interface HTTP de administração do dispositivo — por padrão isso é a LAN, mas roteadores com gerenciamento remoto habilitado ou expostos via port forwarding ficam acessíveis pela Internet. Não é necessária nenhuma configuração não padrão além da exposição da interface web. A complexidade é baixa (AC:L) e não exige interação do usuário.
A divergência de CVSS entre fontes reflete uma diferença de interpretação: a VulDB/CNA pontuou apenas o vazamento de dados de sessão (C:L/I:N/A:N, score 5.3), enquanto o cálculo da NVD assume o impacto real da credencial de admin vazada, que permite login completo no painel — daí o score 9.8 (C:H/I:H/A:H). Na prática, o resultado final documentado é a obtenção da senha de administrador, que dá controle total do dispositivo: alteração de configurações, DNS, firmware ou uso do roteador como pivô na rede.
Versões
Como se proteger
Não há patch: o D-Link DIR-859 está formalmente em End of Life / End of Service desde 10/12/2020 (aviso SAP10371) e o fornecedor recomenda explicitamente aposentar e substituir o dispositivo — nenhuma correção de firmware será lançada, mesmo com exploração ativa confirmada.
Para quem não pode substituir imediatamente, os controles compensatórios reais são: desativar totalmente o acesso remoto/gerenciamento via WAN, restringir o acesso à interface HTTP (porta 80/443 do painel) apenas a hosts confiáveis na LAN via segmentação de rede ou firewall, e colocar o dispositivo atrás de um gateway que filtre ou bloqueie POSTs para /hedwig.cgi contendo sequências de traversal. Trocar a senha padrão de admin não neutraliza a falha — o ataque lê a senha atual, então mesmo uma senha forte é exposta; a única mitigação de configuração é reduzir a exposição de rede, não fortalecer a credencial.
O fornecedor sugere manter o firmware mais recente instalado e usar senhas únicas com WI-FI criptografado, mas essas medidas não corrigem a vulnerabilidade em si — apenas reduzem impacto colateral. A ação recomendada pela CISA no KEV é aplicar mitigações de rede ou descontinuar o uso do produto.
Como detectar
Procure em logs de proxy, WAF ou IDS/IPS posicionados na frente do dispositivo por requisições HTTP POST para /hedwig.cgi cujo corpo contenha sequências de traversal ("../") apontando para caminhos como /htdocs/webinc/getcfg/*.xml — em especial referências a DHCPS6.BRIDGE-1.xml ou outros arquivos .xml fora do uso normal do endpoint, com Content-Type text/xml.
Roteadores domésticos como o DIR-859 tipicamente não retêm logs de acesso HTTP de forma persistente nem exportam telemetria centralizada, então na maioria dos ambientes não há sinal confiável disponível a menos que exista um firewall ou sensor de rede externo capturando o tráfego antes de chegar ao dispositivo.