← voltar
CVE-2020-15415criticalsob ataqueCWE-78

CVE-2020-15415

95Vexday Risk Score

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

ssvc Actcvss 9.8epss 85%
da publicação à arma
Publicada no NVD30 de jun.
CISA KEV+1553d
probabilidade de exploração
85%top 1% das CVEs
exploração observada
simCISA + VulnCheck
Ação exigida pela CISAprazo federal: 2024-10-21

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

Resumo

Falha de injeção de comandos no endpoint cgi-bin/mainfunction.cgi/cvmcfgupload dos roteadores DrayTek Vigor3900, Vigor2960 e Vigor300B, explorável sem autenticação via um campo de nome de arquivo malformado em upload multipart/form-data. Está no catálogo KEV da CISA (exploração confirmada), o que eleva a prioridade de remediação mesmo em ambientes que julgam esses equipamentos 'legado' e fora de escopo de patch.

Detalhamento técnico

O endpoint cvmcfgupload processa uploads de arquivo de configuração enviados por multipart/form-data. Quando o Content-Type da parte enviada é text/x-python-script, o backend trata o valor do campo filename de forma inadequada e o repassa a uma chamada de shell sem neutralizar metacaracteres — classifica-se como CWE-78 (OS Command Injection). O atacante controla integralmente o conteúdo do parâmetro filename dentro do multipart, incluindo aspas, ponto e vírgula e outros caracteres que o interpretador de shell trata como separadores de comando.

Como é explorada

O vetor demonstrado publicamente é uma requisição POST para /cgi-bin/mainfunction.cgi/cvmcfgupload com corpo multipart/form-data, em que a parte enviada tem Content-Type: text/x-python-script e o campo filename contém uma sequência que fecha uma aspa aberta pelo processamento interno e injeta um comando adicional (ex.: encerrar a string, inserir ';', executar um binário arbitrário, reabrir a string). Não há evidência de exigência de autenticação prévia no PoC público — a requisição é enviada diretamente ao CGI, o que é coerente com o vetor CVSS AV:N/PR:N/UI:N atribuído à falha. Como o CGI normalmente roda com privilégios elevados no firmware do dispositivo, a exploração bem-sucedida resulta em execução de comando arbitrário no sistema operacional subjacente do roteador — controle total do dispositivo, incluindo tráfego que passa por ele.

Versões

Afetadas
DrayTek Vigor3900, Vigor2960 e Vigor300B em versões de firmware anteriores à 1.5.1.
Corrigidas em
Firmware 1.5.1 (e posteriores), conforme DSA-2020-004 de 24/06/2020.

Como se proteger

O fornecedor corrigiu a falha na versão 1.5.1 do firmware, endereçada junto com a CVE-2020-14472 relacionada (mas distinta) na advisory DSA-2020-004, publicada em 24/06/2020. A ação recomendada é atualizar para 1.5.1 ou superior nos três modelos afetados. Onde a atualização não for viável de imediato, o paliativo real é remover a exposição do painel de gerenciamento/CGI à internet — restringir acesso ao endpoint via ACL de firewall, desabilitar administração remota e limitar acesso à interface de gerência apenas a redes de gestão confiáveis; isso reduz drasticamente a superfície mesmo sem eliminar a vulnerabilidade em si. Não há indicação de que WAF genérico neutralize com segurança esse tipo de payload em multipart/form-data sem inspeção específica de conteúdo — tratar isso como mitigação suficiente é o mito a evitar; a correção definitiva é o firmware.

Como detectar

Procurar em logs de acesso web/CGI requisições POST para /cgi-bin/mainfunction.cgi/cvmcfgupload cujo corpo multipart/form-data contenha, no campo filename, metacaracteres de shell (aspas simples, ponto e vírgula, crase, pipe) combinados com Content-Type: text/x-python-script na parte enviada — esse padrão é o indicador mais direto de tentativa de exploração, refletindo o PoC público conhecido. Não há assinatura oficial de detecção publicada pelo fornecedor; ambientes sem inspeção profunda de payload HTTP (DPI/WAF configurado especificamente para multipart) provavelmente não terão visibilidade dessas tentativas.

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.
On DrayTek Vigor3900, Vigor2960, and Vigor300B devices before 1.5.1, cgi-bin/mainfunction.cgi/cvmcfgupload allows remote command execution via shell metacharacters in a filename when the text/x-python-script content type is used, a different issue than CVE-2020-14472.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Produtos afetados
n/a · n/a