← back
CVE-2019-20500highunder attackCWE-78

CVE-2019-20500

93Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.

ssvc Actcvss 7.8epss 97%
from disclosure to weapon
Published on NVDMar 5
CISA KEV+1211d
exploitation probability
97%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
1 public exploit(s)
Action required by CISAfederal deadline: 2023-07-20

Apply updates per vendor instructions or discontinue use of the product if updates are unavailable.

Summary

Falha de injeção de comandos OS (CWE-78) no access point D-Link DWL-2600AP, explorável por um usuário já autenticado na interface web de administração através da função Save Configuration. O CVSS de 7.8 já reflete a necessidade de credenciais válidas (PR:L) e o fato de o ataque ocorrer pela interface de gestão do equipamento (AV:L) — não é uma falha exposta anonimamente na internet, mas é trivial de explorar por quem tem acesso ao painel, e está confirmada em exploração ativa (KEV da CISA).

Technical detail

A função de Save Configuration do admin.cgi, acionada via admin.cgi?action=config_save, monta um comando de sistema para transferir o arquivo de backup usando o utilitário tftp do BusyBox embarcado no firmware. Os parâmetros de formulário configBackup (nome do arquivo) e downloadServerip (IP do servidor TFTP de destino) são concatenados diretamente na linha de comando sem qualquer sanitização ou validação de tipo/formato.

Como não há filtragem de metacaracteres de shell, um atacante pode inserir ponto-e-vírgula (;) nesses campos para encerrar o comando tftp esperado e encadear comandos arbitrários, que são executados com os privilégios do processo do admin.cgi — no firmware testado, isso equivale a root. O PoC público demonstra a execução de whoami e cat /var/passwd através desse encadeamento.

A mesma classe de falha existe em endpoints irmãos do mesmo firmware: CVE-2019-20499 (Restore Configuration, admin.cgi?action=config_restore, parâmetros configRestore/configServerip) e CVE-2019-20501 (Upgrade Configuration). As três compartilham a mesma causa raiz — construção de comando de shell por concatenação de string com entrada de usuário não confiável — só variando o endpoint e os nomes dos parâmetros.

How it’s exploited

Pré-requisito obrigatório: sessão autenticada válida na interface web de administração (cookie sessionHTTP). Sem credenciais de acesso ao painel, não há vetor. O fornecedor e o pesquisador chamam isso de 'authenticated', e o vetor CVSS AV:L reflete que o alvo é a interface de gestão do dispositivo, não um serviço exposto genericamente na rede.

Com uma sessão válida, o atacante envia um POST para /admin.cgi?action=config_save com os campos configBackup e/ou downloadServerip contendo sequências como ;comando;comando; (o próprio PoC do exploit-db instrui repetir o comando duas vezes para garantir saída visível na resposta HTML). O servidor executa a cadeia via shell antes ou depois de tentar rodar o tftp, e o retorno do comando aparece na resposta HTTP em texto plano — não é preciso blind injection nem canal externo de exfiltração.

O resultado é execução arbitrária de comandos com privilégios equivalentes a root no equipamento, o que na prática significa controle total do access point: leitura de hashes de senha, alteração de configuração de rede Wi-Fi, uso do dispositivo como pivô na rede local. A presença no catálogo KEV da CISA (adicionada em 29/06/2023, prazo de correção 20/07/2023) confirma exploração observada em ambiente real, embora a CISA não classifique como associada a campanhas de ransomware.

Versions

Affected
D-Link DWL-2600AP, Hardware Revision A, firmware 4.2.0.15 e anteriores (inclui pelo menos 4.2.0.13 e 4.2.0.15, testados e confirmados pelo pesquisador).
Fixed in
Firmware 4.2.0.15b001c (patch/beta) e 4.2.0.17 (release completo), publicados pela D-Link para Hardware Revision A.

How to protect

O fornecedor publicou firmware corrigido: versão de patch/beta 4.2.0.15b001c e, na sequência, a versão de release completo 4.2.0.17. A recomendação oficial é atualizar para 4.2.0.17 ou posterior no hardware Revision A do DWL-2600AP.

Se a atualização não for viável, o controle compensatório real é restringir o acesso à interface administrativa web (admin.cgi) apenas a uma VLAN de gerência isolada, sem acesso direto de estações de usuário, e trocar credenciais padrão/fracas de administração — isso não corrige a falha, mas reduz a superfície a quem já teria acesso administrativo de qualquer forma. Não existe mitigação por WAF eficaz aqui: o tráfego é uma requisição HTTP legítima ao painel do próprio dispositivo, não há assinatura de payload genérica que não gere falsos positivos ou negativos.

O catálogo KEV da CISA aponta como ação alternativa a descontinuação do produto caso a atualização não esteja disponível — o DWL-2600AP é hardware antigo e, dependendo da revisão e do ciclo de vida, pode não receber mais firmware do fabricante, o que torna a substituição do equipamento a única mitigação definitiva em ambientes que não podem aplicar o patch.

How to detect

Em logs do servidor web do equipamento (quando existir logging), procurar por requisições POST para admin.cgi?action=config_save cujos campos configBackup ou downloadServerip contenham metacaracteres de shell (;, |, &, `, $()) em vez de nome de arquivo ou endereço IP válidos. Como o dispositivo é um AP embarcado com capacidade de log limitada, na prática o sinal mais confiável costuma vir de captura de tráfego de rede (proxy/mirror na VLAN de gerência) monitorando o mesmo padrão no corpo da requisição HTTP para esse endpoint.

Não há assinatura única confirmada publicamente por CISA ou D-Link para detecção; a ausência de indicadores de comprometimento documentados publicamente é, em si, uma lacuna — trate qualquer acesso autenticado anômalo ao painel administrativo do DWL-2600AP como potencial tentativa, dado que a exploração deixa retorno visível na própria resposta HTTP e pode não deixar rastro persistente no dispositivo.

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 DWL-2600AP 4.2.0.15 Rev A devices have an authenticated OS command injection vulnerability via the Save Configuration functionality in the Web interface, using shell metacharacters in the admin.cgi?action=config_save configBackup or downloadServerip parameter.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected products
n/a · n/a
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.