CVE-2019-20500
Prioriza la corrección. Ella está bajo explotación confirmada por CISA y tiene prueba de concepto pública.
Apply updates per vendor instructions or discontinue use of the product if updates are unavailable.
Resumen
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).
Detalle técnico
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.
Cómo se explota
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.
Versiones
Cómo protegerse
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.
Cómo detectar
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.