← back
CVE-2020-25506criticalunder attackCWE-78

CVE-2020-25506

95Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 9.8epss 100%
from disclosure to weapon
Published on NVDFeb 2
CISA KEV+274d
exploitation probability
100%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
Action required by CISAfederal deadline: 2022-05-03

Apply updates per vendor instructions.

Summary

Falha de command injection no CGI de gerenciamento do NAS D-Link DNS-320 (revisão Ax), que permite executar comandos arbitrários no sistema operacional do dispositivo sem autenticação prévia demonstrada na PoC pública. É grave não apenas pelo CVSS 9.8, mas porque o produto está em End-of-Life: a D-Link confirmou a vulnerabilidade e não vai lançar correção — a orientação oficial é aposentar o hardware.

Technical detail

A falha (CWE-78) está no binário system_mgr.cgi, especificamente na função cgi_ntp_time, responsável por configurar o servidor NTP do NAS. O valor do parâmetro f_ntp_server é lido via cgiFormString (limite de 64 bytes) e concatenado diretamente numa string de comando no formato 'sntp -r %s > /dev/null', que é passada para a função system() sem sanitização de metacaracteres de shell.

Como a concatenação é literal, qualquer caractere de shell (backtick, $(), ;, |, &&) presente em f_ntp_server é interpretado pelo interpretador de comandos do sistema embarcado, e não apenas como argumento do sntp. O atacante controla integralmente o conteúdo desse parâmetro via requisição HTTP ao CGI.

A função é acionada quando o parâmetro cmd da requisição ao system_mgr.cgi tem o valor cgi_ntp_time — isso foi identificado por engenharia reversa do binário (IDA) cruzando referências a essa string, conforme documentado pelo pesquisador que reportou a falha (Chaitin Security Research Lab).

How it’s exploited

O vetor é uma requisição HTTP para o endpoint /cgi-bin/system_mgr.cgi com os parâmetros cmd=cgi_ntp_time e f_ntp_server contendo a injeção de comando (a PoC pública usa notação com backticks). O vetor CVSS oficial (AV:N/AC:L/PR:N/UI:N) indica exploração remota, sem interação do usuário e sem privilégios — ou seja, na configuração testada pelo pesquisador não foi necessária autenticação prévia para acionar a função vulnerável, o que explica a criticidade máxima do score.

A exploração é trivial: não exige encadeamento de outras falhas, apenas acesso de rede à interface de gerenciamento do CGI, que em muitos casos está exposta diretamente na internet por configuração do usuário (NAS domésticos com port-forwarding ou UPnP habilitado). O resultado é execução de comando arbitrário com os privilégios do processo do CGI, tipicamente root em dispositivos embarcados desse tipo, permitindo acesso total ao sistema de arquivos e aos dados armazenados no NAS.

A CVE está no catálogo KEV da CISA desde novembro de 2021, confirmando exploração ativa no mundo real, não apenas prova de conceito acadêmica. Existe template Nuclei público para varredura automatizada, o que reduz a barreira de exploração em massa contra dispositivos expostos.

Versions

Affected
D-Link DNS-320, revisão de hardware Ax, todas as versões de firmware até e incluindo v2.06B01 (identificado no PoC) / v2.05b01Beta e v2.06b01Beta (listados no advisory oficial SAP10183 como versões afetadas/mais recentes disponíveis).
Fixed in
Nenhuma. O produto está em End-of-Life/End-of-Support e a D-Link declarou que não haverá correção de firmware.

How to protect

Não existe correção. O advisory oficial da D-Link (SAP10183) declara o DNS-320 Revisão Ax como End-of-Service-Life desde 2018 nos EUA, sem desenvolvimento de firmware ativo, e recomenda diretamente a substituição do equipamento. A última versão de firmware listada (v2.06b01Beta) permanece vulnerável.

Como paliativo, a D-Link recomenda desabilitar a conexão do NAS com a internet — ou seja, remover completamente a exposição do dispositivo a redes não confiáveis. Na prática isso significa isolar o DNS-320 numa VLAN sem rota para a internet, bloquear qualquer port-forward ou UPnP que exponha a porta HTTP/HTTPS de gerenciamento, e restringir acesso à interface administrativa apenas a hosts de gerência via firewall. Trocar senha padrão e habilitar criptografia Wi-Fi, como sugere o vendor, não mitiga esta falha específica — a vulnerabilidade está no CGI de administração e é explorável independente da força da senha se o endpoint estiver acessível.

Não há workaround de configuração no próprio firmware (flag, patch de configuração) documentado pelo fornecedor além do isolamento de rede. Dado o EoL, a única mitigação definitiva é a substituição do hardware.

How to detect

Procurar em logs de acesso web (do próprio NAS ou de proxy/firewall à frente dele) por requisições a /cgi-bin/system_mgr.cgi contendo cmd=cgi_ntp_time combinado com o parâmetro f_ntp_server carregando metacaracteres de shell (backtick, $(), ;, |, &&, >, <) — isso é o indicador mais direto de tentativa de exploração, já que uma configuração legítima de NTP não contém esses caracteres. A existência de template Nuclei público também significa que varreduras automatizadas de internet scanners contra esse endpoint são esperadas; tráfego repetitivo e não autenticado ao CGI de múltiplas origens é sinal de scanning oportunista, não necessariamente ataque direcionado.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
D-Link DNS-320 FW v2.06B01 Revision Ax is affected by command injection in the system_mgr.cgi component, which can lead to remote arbitrary code execution.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected products
n/a · n/a