← voltar
CVE-2020-0646criticalsob ataqueCWE-91

CVE-2020-0646

100Vexday Risk Score

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

ssvc Actcvss 9.8epss 99%
da publicação à arma77 dias
Publicada no NVD14 de jan.
1ª PoC+77d
metasploit+48d
CISA KEV+659d
probabilidade de exploração
99%top 1% das CVEs
exploração observada
simCISA + VulnCheck
2 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-05-03

Apply updates per vendor instructions.

Resumo

Falha de validação de entrada no Microsoft .NET Framework que permite execução remota de código, catalogada pela Microsoft como '.NET Framework Remote Code Execution Injection Vulnerability'. Está no catálogo KEV da CISA (CWE-91, injeção de XML) por exploração confirmada em campo, mas a exploração documentada publicamente ocorre via SharePoint — que usa o Windows Workflow Foundation do .NET Framework para processar workflows em formato XOML — e não como RCE anônimo direto contra o runtime do .NET isolado. O CVSS 9.8 (PR:N, sem interação do usuário) reflete o cenário genérico do framework, não necessariamente o vetor real mais explorado.

Detalhamento técnico

A causa raiz é falta de validação/sanitização adequada de marcação XAML/XOML processada pelo Windows Workflow Foundation, componente do .NET Framework. O CISA KEV classifica a falha como CWE-91 (Injeção de XML / Blind XPath Injection), o que é consistente com a natureza do problema: dados de entrada tratados como estruturas de workflow são interpretados sem os limites de tipo e escopo esperados, permitindo que marcação controlada pelo atacante seja compilada e executada pelo mecanismo de workflow.

O vínculo mais documentado publicamente (referenciado no PacketStorm como 'SharePoint Workflows XOML Injection') é o uso do SharePoint como consumidor do Workflow Foundation: o SharePoint permite a criação e importação de workflows definidos em XOML, e o processamento desse XOML pelo runtime do .NET Framework é o ponto onde a injeção ocorre. Um workflow malicioso, ao ser compilado/executado pelo servidor, pode escapar do sandbox de expressões esperado e disparar execução de código arbitrário no contexto do processo que hospeda o workflow (tipicamente o worker process do IIS/SharePoint).

A Microsoft não publicou detalhes profundos de código-fonte no advisory (texto completo do MSRC não constava nas fontes revisadas), mantendo a descrição genérica de 'falha de validação de entrada'. Isso limita a precisão de qualquer descrição de mecanismo interno específico do parser XOML/Workflow Compiler além do que pesquisadores externos já correlacionaram.

Como é explorada

O vetor mais citado por pesquisadores e refletido em módulos de exploração públicos exige acesso autenticado a um ambiente SharePoint com permissão para criar, importar ou publicar workflows (nível de permissão equivalente a Designer/Editor do site) — não é uma exploração anônima pura contra a rede, mesmo que o CVSS oficial marque PR:N. O atacante cria ou modifica um workflow XOML malicioso e o submete ao mecanismo de workflow do SharePoint; ao ser processado pelo Workflow Foundation, o conteúdo injetado é executado no contexto do processo do servidor, que em muitas instalações roda com privilégios elevados (identidade do application pool).

Existe PoC pública e módulo Metasploit associados à falha, o que reduz a complexidade prática de reprodução para quem já possui as credenciais/permissões de pré-requisito. A CISA confirma exploração ativa em campo (motivo da inclusão no KEV), mas não há indicação de uso em campanhas de ransomware conhecidas segundo o próprio catálogo.

O resultado final da exploração é execução de código arbitrário no servidor que hospeda o workflow (ou, em cenários fora do SharePoint, no processo que compila/executa o XAML malicioso via .NET Framework), o que normalmente se traduz em comprometimento total do host afetado.

Versões

Afetadas
Microsoft .NET Framework 3.0; 3.5; 3.5.1; e as combinações 3.5 + 4.6.2/4.7/4.7.1/4.7.2 no Windows 10 versão 1607 (32-bit e x64), Windows Server 2016 (incluindo instalação Server Core), e 3.5 + 4.7.1/4.7.2 no Windows 10 versão 1709 (32-bit), conforme listado pela Microsoft.
Corrigidas em
Atualizações de segurança da Microsoft do ciclo de janeiro de 2020 (Patch Tuesday) para a combinação específica de sistema operacional e versão do .NET Framework instalada. Números exatos de KB por combinação não foram confirmados nas fontes revisadas nesta pesquisa — verificar no Microsoft Update Catalog pela build do OS e versão do .NET Framework.

Como se proteger

A ação primária é aplicar as atualizações de segurança da Microsoft do ciclo de janeiro de 2020 (Patch Tuesday) correspondentes à combinação exata de sistema operacional e versão do .NET Framework instalada — as combinações afetadas variam por build do Windows (10 1607, 1709, Server 2016) e por versão do .NET Framework (3.0, 3.5, 3.5.1, e as combinações 3.5+4.6.2/4.7/4.7.1/4.7.2). Não foram confirmados nesta pesquisa os números exatos de KB por combinação; use o Microsoft Update Catalog/WSUS filtrando pela build e versão do .NET instalada para obter o pacote correto.

Como controle compensatório quando o patch não pode ser aplicado imediatamente em ambientes com SharePoint: restringir a permissão de criação/edição de workflows a um grupo mínimo de usuários confiáveis, já que o vetor documentado depende dessa capacidade; isso reduz a superfície mas não elimina a falha subjacente no processamento de XOML pelo .NET Framework.

Não funciona como mitigação: desativar apenas recursos de interface do SharePoint sem revogar a permissão de gestão de workflows, nem confiar em WAF genérico de camada HTTP, já que a injeção ocorre na camada de processamento de workflow/XAML do runtime, não em um padrão de payload HTTP trivialmente assinável.

Como detectar

Em ambientes SharePoint, monitorar criação/edição/importação de workflows (arquivos XOML) por usuários fora do padrão esperado, especialmente uploads ou modificações feitas fora de fluxos administrativos normais. No lado de host, procurar por processos filhos anômalos gerados pelo worker process do IIS/SharePoint (w3wp.exe) imediatamente após operações de workflow, o que indicaria execução de código pós-injeção. Não há assinatura de rede genérica confiável para a falha em si, já que o vetor documentado atua na camada de aplicação/processamento de workflow, não em um padrão de pacote de rede distinto.

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 when the Microsoft .NET Framework fails to validate input properly, aka '.NET Framework Remote Code Execution Injection Vulnerability'.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Produtos afetados
Microsoft · Microsoft .NET Framework 3.0Microsoft · Microsoft .NET Framework 3.5Microsoft · Microsoft .NET Framework 3.5.1Microsoft · Microsoft .NET Framework 3.5 AND 4.6.2/4.7/4.7.1/4.7.2 on Windows 10 Version 1607 for 32-bit SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.6.2/4.7/4.7.1/4.7.2 on Windows 10 Version 1607 for x64-based SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.6.2/4.7/4.7.1/4.7.2 on Windows Server 2016Microsoft · Microsoft .NET Framework 3.5 AND 4.6.2/4.7/4.7.1/4.7.2 on Windows Server 2016 (Server Core installation)Microsoft · Microsoft .NET Framework 3.5 AND 4.7.1/4.7.2 on Windows 10 Version 1709 for 32-bit SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.7.1/4.7.2 on Windows 10 Version 1709 for x64-based SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.7.2 on Windows 10 for 32-bit SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.7.2 on Windows 10 for x64-based SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.7.2 on Windows 10 Version 1803 for 32-bit SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.7.2 on Windows 10 Version 1803 for x64-based SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.7.2 on Windows 10 Version 1809 for 32-bit SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.7.2 on Windows 10 Version 1809 for x64-based SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.7.2 on Windows Server 2019Microsoft · Microsoft .NET Framework 3.5 AND 4.7.2 on Windows Server 2019 (Server Core installation)Microsoft · Microsoft .NET Framework 3.5 AND 4.7.2 on Windows Server, version 1803 (Server Core Installation)Microsoft · Microsoft .NET Framework 3.5 AND 4.8 on Windows 10 Version 1809 for 32-bit SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.8 on Windows 10 Version 1809 for x64-based SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.8 on Windows 10 Version 1903 for 32-bit SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.8 on Windows 10 Version 1903 for x64-based SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.8 on Windows 10 Version 1909 for 32-bit SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.8 on Windows 10 Version 1909 for x64-based SystemsMicrosoft · Microsoft .NET Framework 3.5 AND 4.8 on Windows Server 2019Microsoft · Microsoft .NET Framework 3.5 AND 4.8 on Windows Server 2019 (Server Core installation)Microsoft · Microsoft .NET Framework 3.5 AND 4.8 on Windows Server, version 1903 (Server Core installation)Microsoft · Microsoft .NET Framework 3.5 AND 4.8 on Windows Server, version 1909 (Server Core installation)Microsoft · Microsoft .NET Framework 4.5.2Microsoft · Microsoft .NET Framework 4.6Microsoft · Microsoft .NET Framework 4.6.2/4.7/4.7.1/4.7.2Microsoft · Microsoft .NET Framework 4.6/4.6.1/4.6.2/4.7/4.7.1/4.7.2Microsoft · Microsoft .NET Framework 4.8 on Windows 10 Version 1607 for 32-bit SystemsMicrosoft · Microsoft .NET Framework 4.8 on Windows 10 Version 1607 for x64-based SystemsMicrosoft · Microsoft .NET Framework 4.8 on Windows 10 Version 1709 for 32-bit SystemsMicrosoft · Microsoft .NET Framework 4.8 on Windows 10 Version 1709 for x64-based SystemsMicrosoft · Microsoft .NET Framework 4.8 on Windows 10 Version 1803 for 32-bit SystemsMicrosoft · Microsoft .NET Framework 4.8 on Windows 10 Version 1803 for x64-based SystemsMicrosoft · Microsoft .NET Framework 4.8 on Windows 7 for 32-bit Systems Service Pack 1Microsoft · Microsoft .NET Framework 4.8 on Windows 7 for x64-based Systems Service Pack 1Microsoft · Microsoft .NET Framework 4.8 on Windows 8.1 for 32-bit systemsMicrosoft · Microsoft .NET Framework 4.8 on Windows 8.1 for x64-based systemsMicrosoft · Microsoft .NET Framework 4.8 on Windows RT 8.1Microsoft · Microsoft .NET Framework 4.8 on Windows Server 2008 R2 for x64-based Systems Service Pack 1Microsoft · Microsoft .NET Framework 4.8 on Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)Microsoft · Microsoft .NET Framework 4.8 on Windows Server 2012Microsoft · Microsoft .NET Framework 4.8 on Windows Server 2012 R2Microsoft · Microsoft .NET Framework 4.8 on Windows Server 2012 R2 (Server Core installation)Microsoft · Microsoft .NET Framework 4.8 on Windows Server 2012 (Server Core installation)Microsoft · Microsoft .NET Framework 4.8 on Windows Server 2016Microsoft · Microsoft .NET Framework 4.8 on Windows Server 2016 (Server Core installation)Microsoft · Microsoft .NET Framework 4.8 on Windows Server, version 1803 (Server Core Installation)
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.