← voltar
CVE-2016-11021highsob ataqueCWE-78

CVE-2016-11021

98Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.

ssvc Actcvss 7.2epss 69%
da publicação à arma0 dias
Publicada no NVD9 de mar.
metasploit20 de dez.
CISA KEV+746d
probabilidade de exploração
69%top 1% das CVEs
exploração observada
simCISA + VulnCheck
1 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-04-15

The impacted product is end-of-life and should be disconnected if still in use.

Resumo

Injeção de comando OS no endpoint /setSystemCommand das câmeras IP D-Link DCS-930L, explorável remotamente por um usuário já autenticado no painel web do dispositivo. Está na lista KEV da CISA com exploração confirmada e módulo Metasploit público, mas o CVSS de 7.2 já reflete a exigência de privilégio alto (PR:H) — não é um RCE pré-autenticação, e sim um pivô a partir de uma sessão admin válida.

Detalhamento técnico

A falha (CWE-78, OS Command Injection) está no parâmetro SystemCommand do endpoint /setSystemCommand da interface web de administração do firmware. O dispositivo passa o valor recebido diretamente para um shell do sistema embarcado (BusyBox) sem sanitização, permitindo que o atacante anexe comandos arbitrários ao valor esperado.

O fluxo de requisição observado no módulo Metasploit público mostra um POST autenticado para /setSystemCommand com os campos ReplySuccessPage, ReplyErrorPage, SystemCommand e ConfigSystemCommand=Save. O campo SystemCommand é o vetor: qualquer string colocada ali é executada com os privilégios do processo web, que no firmware embarcado normalmente corresponde a root ou equivalente.

O atacante controla integralmente o conteúdo executado — não há lista de comandos permitidos nem escaping de metacaracteres de shell (;, |, `, $()). O único obstáculo real é a autenticação HTTP Basic exigida pelo endpoint, refletida no PR:H do vetor CVSS.

Como é explorada

Pré-requisito central: credenciais válidas no painel administrativo da câmera. O módulo Metasploit público (EDB-ID 39437) primeiro valida login via HTTP Basic Auth (usuário padrão 'admin', senha em branco por padrão em muitas unidades) contra a raiz do serviço web, e só então envia o POST malicioso para /setSystemCommand. Como muitos DCS-930L nunca tiveram a senha padrão alterada, a barreira de autenticação é, na prática, frequentemente trivial — apesar do CVSS classificar PR:H, o risco real depende de higiene de credenciais, não de complexidade técnica.

No PoC conhecido, o comando injetado inicia um 'telnetd' na porta alta aleatória com shell '/bin/sh' vinculado (telnetd -p -l/bin/sh), criando um backdoor de shell remoto que o atacante acessa diretamente via telnet, obtendo execução de comando arbitrária e persistente sobre o sistema embarcado do dispositivo. Divulgado publicamente em dezembro de 2015 por Nicholas Starke; a CISA confirma exploração ativa no mundo real, o que justificou a inclusão no catálogo KEV em 2022, apesar da divulgação ter ocorrido anos antes.

Versões

Afetadas
Firmware anterior à versão 2.12 (confirmado como vulnerável na versão 2.01 testada pelo pesquisador).
Corrigidas em
Firmware 2.12 e posteriores.

Como se proteger

O fornecedor corrigiu a injeção no firmware 2.12; dispositivos com versões anteriores a 2.12 (a fonte do módulo cita especificamente a versão 2.01 como testada) devem ser atualizados. No entanto, a linha DCS-930L está em fim de vida (EOL) segundo a própria nota da CISA no catálogo KEV, que recomenda desconectar o dispositivo da rede se ainda estiver em uso, em vez de depender de atualização de firmware que pode não estar mais disponível.

Controle compensatório real e imediato: trocar a senha padrão do usuário admin e restringir o acesso à interface de gerenciamento (porta HTTP do dispositivo) a uma rede de gerência isolada, sem exposição direta à internet ou a segmentos de usuário. Isso não elimina a vulnerabilidade, mas neutraliza o vetor de exploração observado, que depende de autenticação bem-sucedida.

Mudar apenas a senha não resolve o problema de fundo se o dispositivo continuar acessível remotamente e sem atualização — o vendor já não sustenta esse hardware, então qualquer outra falha de autenticação ou bypass futuro reabre o mesmo caminho de exploração. A única mitigação definitiva mencionada pela fonte oficial é a remoção do equipamento da rede.

Como detectar

Em logs do servidor web embarcado, procurar requisições POST para /setSystemCommand com o campo SystemCommand contendo metacaracteres de shell (;, |, `, $(), &&) ou strings como 'telnetd', '/bin/sh', 'busybox'. Em nível de rede, sinal característico da exploração conhecida é a abertura repentina de uma porta TCP alta (>32768) não documentada no dispositivo, correspondendo ao telnetd injetado pelo PoC público — tráfego telnet subsequente para essa porta a partir de um host externo é forte indício de comprometimento.

Não há assinatura confiável para detectar apenas a tentativa de login (que usa HTTP Basic Auth padrão), então o controle de detecção mais útil é monitorar anomalias de porta aberta e comandos suspeitos no campo SystemCommand, não tentativas de autenticação isoladas.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
setSystemCommand on D-Link DCS-930L devices before 2.12 allows a remote attacker to execute code via an OS command in the SystemCommand parameter.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Produtos afetados
n/a · n/a
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.