← voltar
CVE-2020-1350criticalsob ataqueCWE-20

CVE-2020-1350

100Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.

ssvc Actcvss 10epss 91%
da publicação à arma0 dias
Publicada no NVD14 de jul.
1ª PoC11 de mar.
CISA KEV+477d
probabilidade de exploração
91%top 1% das CVEs
exploração observada
simCISA + VulnCheck
24 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-05-03

Apply updates per vendor instructions.

Resumo

SIGRed é uma falha de heap overflow no serviço Windows DNS Server (dns.exe) explorável remotamente e sem autenticação, permitindo execução de código como SYSTEM. A Microsoft classificou como 'wormable' — potencial para se propagar de servidor DNS para servidor DNS sem interação humana, o que justifica o CVSS 10.0. Não é um bug de configuração exótica: qualquer Windows Server com a role DNS Server instalada e habilitada para forwarding/recursão está no caminho de exploração.

Detalhamento técnico

A falha está no parsing de registros SIG (Signature, definidos na RFC 2065/2535) dentro do código que trata respostas DNS recebidas via TCP. O componente de parsing calcula incorretamente o tamanho de um campo ao decodificar nomes comprimidos dentro do registro SIG, resultando em um integer overflow que leva a um heap-based buffer overflow (classe CWE-122/CWE-190) na hora de copiar os dados para um buffer alocado com tamanho menor que o necessário.

O gatilho depende de mensagens DNS grandes — acima do limite tradicional de 64KB usado em UDP — o que só é viável via TCP, protocolo que o DNS Server do Windows aceita para respostas grandes. Um atacante que controle o conteúdo de uma resposta DNS processada pelo servidor Windows (por exemplo, sendo o servidor autoritativo do domínio consultado, ou injetando a resposta em um cenário de forwarding/cache) controla os bytes que sobrescrevem a região de heap corrompida.

A exploração completa para RCE (além do DoS trivial) exige contornar mitigações do heap do Windows, o que pesquisadores da Check Point Research — que descobriram e nomearam a falha SIGRed — descreveram como algo que exige encadear a corrupção de heap com técnicas de manipulação de layout de memória; não é um overflow de exploração direta e óbvia.

O serviço roda como Local System, então qualquer execução de código bem-sucedida herda os privilégios máximos da máquina — não há elevação adicional necessária depois da exploração.

Como é explorada

Existem dois vetores documentados. No primeiro, o atacante controla um domínio (ou subdomínio delegado) e faz com que o Windows DNS Server, atuando como resolver recursivo ou forwarder, envie uma query para o servidor DNS autoritativo malicioso do atacante; a resposta maliciosa (o registro SIG malformado) é processada pelo alvo e desencadeia o overflow. Isso não exige autenticação nem interação do usuário — só exige que o DNS Server do Windows faça, em algum momento, uma resolução que chegue até o servidor do atacante, algo comum em ambientes onde o servidor resolve nomes externos.

O segundo vetor, mais direto, é enviar a mensagem TCP maliciosa diretamente à porta 53 do DNS Server exposto — sem depender de resolução recursiva —, desde que o serviço esteja acessível na rede (interna ou, em configurações mal segmentadas, na internet).

O PoC público conhecido e catalogado (referenciado no Packet Storm) demonstra a negação de serviço — crash do serviço DNS — que é trivial de reproduzir e serve como prova de vulnerabilidade sem exigir bypass de heap. A escalada para execução de código arbitrário é mais complexa e foi demonstrada por pesquisadores em ambiente controlado, mas a CISA classifica a CVE como exploração confirmada em campo (presença no catálogo KEV), o que eleva a prioridade de correção independentemente da dificuldade de weaponização completa.

Versões

Afetadas
Todas as versões do Windows Server com a role DNS Server instalada, de acordo com a Microsoft — abrangendo desde ramos legados até Windows Server, versão 1903 (Server Core), versão 1909 (Server Core) e versão 2004 (Server Core), conforme listado no advisory oficial.
Corrigidas em
Atualizações de segurança específicas por versão/build lançadas pela Microsoft no boletim de julho de 2020 (KB correspondente a cada versão do Windows Server listada no advisory MSRC). Consultar o advisory oficial para o KB exato de cada branch, já que os números variam por versão e não estão detalhados nas fontes consultadas aqui.

Como se proteger

A correção definitiva é aplicar a atualização de segurança da Microsoft lançada no Patch Tuesday de julho de 2020, que corrige o parsing do registro SIG no DNS Server. Não há substituto funcional para o patch quando se trata do vetor de RCE completo.

Para quem não pode reiniciar/patchear imediatamente, a Microsoft publicou um workaround via registro: limitar o tamanho máximo de pacote de resposta TCP DNS aceito pelo serviço (chave TcpReceivePacketSize) para um valor menor que o necessário para acionar o overflow (0xFF00 / 65.280 bytes, segundo a orientação oficial), aplicado e seguido de reinício do serviço DNS — não do servidor inteiro. Esse workaround reduz a superfície mas pode interferir em respostas DNS legitimamente grandes, incluindo cenários com DNSSEC, então é paliativo, não solução.

Segmentar o serviço DNS para não aceitar tráfego TCP de origens não confiáveis, ou restringir quais servidores externos ele pode consultar recursivamente, reduz a exposição ao vetor de forwarding, mas não elimina o vetor direto se a porta 53/TCP estiver acessível a uma rede maior. A CISA emitiu a Emergency Directive 20-03 exigindo que agências federais dos EUA aplicassem o patch ou o workaround dentro de prazo curto — sinal da severidade percebida, não de que o workaround substitua o patch em definitivo.

Como detectar

Não há assinatura de payload confiável e pública para o vetor de RCE completo, dado que a exploração para execução de código é mais complexa que o PoC de DoS disponível. O sinal mais prático é monitorar crashes/reinícios inesperados do serviço DNS Server (dns.exe) nos logs de eventos do Windows, especialmente correlacionados com tráfego DNS via TCP anormalmente grande ou respostas contendo registros SIG de tamanho incomum vindas de servidores autoritativos externos não usuais. Ambientes com captura de tráfego DNS podem inspecionar respostas TCP na porta 53 buscando registros SIG malformados ou de tamanho fora do padrão, mas a ausência desse sinal não garante que não houve tentativa, dado que o vetor de DoS é trivial e pode ter sido usado apenas para reconhecimento sem deixar rastro de exploração bem-sucedida.

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.
A remote code execution vulnerability exists in Windows Domain Name System servers when they fail to properly handle requests, aka 'Windows DNS Server Remote Code Execution Vulnerability'.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.