← voltar
CVE-2020-0618criticalsob ataqueCWE-502

CVE-2020-0618

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 à arma4 dias
Publicada no NVD11 de fev.
1ª PoC+4d
metasploit11 de fev.
CISA KEV+1681d
probabilidade de exploração
99%top 1% das CVEs
exploração observada
simCISA + VulnCheck
7 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2024-10-09

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

Resumo

Falha de desserialização insegura (CWE-502) no ViewState do SQL Server Reporting Services (SSRS), que permite execução remota de código no contexto da conta de serviço do Report Server. O CVSS de 9.8 sugere ataque trivial e não autenticado, mas o próprio catálogo KEV da CISA descreve o requisito real: o atacante precisa de uma conta autenticada, mesmo com privilégios mínimos, no portal/Report Manager do SSRS.

Detalhamento técnico

O SSRS processa requisições de página (relatórios, portal web) usando o mecanismo de ViewState do ASP.NET para manter estado entre requisições. O componente falha ao validar/desserializar corretamente o ViewState recebido do cliente, permitindo que um payload manipulado seja desserializado pelo servidor antes de qualquer verificação de integridade suficiente — o clássico padrão de CWE-502 (Deserialization of Untrusted Data).

Como o processo de desserialização instancia objetos .NET a partir de dados controlados pelo atacante, é possível construir uma cadeia de gadgets que, ao ser reconstruída pelo runtime, executa código arbitrário. O código resultante roda com os privilégios da conta de serviço do Report Server (SQL Server Reporting Services service account), não com os privilégios do usuário autenticado que enviou a requisição — daí a gravidade mesmo exigindo autenticação prévia.

A superfície de ataque é o próprio protocolo de comunicação entre o navegador e o SSRS Web Portal/Report Server, especificamente os endpoints que processam page requests e devolvem/recebem o campo __VIEWSTATE. O atacante controla o conteúdo desse campo; o servidor confia nele o suficiente para desserializar antes de validar completamente sua origem.

Como é explorada

O vetor é HTTP(S) contra a interface web do SSRS (Report Manager / Web Portal). O pré-requisito central — e a informação mais importante que a manchete de CVSS 9.8 omite — é autenticação: o atacante precisa de uma conta válida no SSRS, ainda que com permissões baixas (ex.: apenas visualizar relatórios). Não é necessário acesso administrativo nem configuração não padrão além de ter o serviço exposto e acessível na rede.

Com uma sessão autenticada, o atacante envia uma requisição de página contendo um ViewState malicioso; o servidor desserializa o payload e executa a cadeia de gadgets embutida, resultando em RCE no contexto da conta de serviço do Report Server — que em muitos ambientes tem privilégios elevados no SQL Server e no sistema operacional subjacente, permitindo movimento lateral e comprometimento do banco.

Existe PoC pública, módulo Metasploit e template Nuclei, o que reduz a complexidade de exploração a praticamente zero para quem já possui uma credencial válida. A CISA incluiu a falha no catálogo KEV em setembro de 2024 — quatro anos após a publicação — indicando exploração ativa recente, não apenas teórica, provavelmente aproveitando ambientes SSRS legados nunca corrigidos e credenciais obtidas por outros meios (phishing, reuso de senha, contas de serviço fracas).

Versões

Afetadas
Microsoft SQL Server 2014 Service Pack 3 for 32-bit Systems (GDR e CU); Microsoft SQL Server 2014 Service Pack 3 for x64-based Systems (GDR e CU); Microsoft SQL Server 2016 for x64-based Systems Service Pack 2 (GDR). O advisory oficial da Microsoft (MSRC) deve ser consultado para a lista completa de branches e para versões adicionais eventualmente cobertas (ex.: SQL Server 2016 SP2 CU) não detalhadas nos dados apurados aqui.
Corrigidas em
Atualizações de segurança lançadas pela Microsoft em fevereiro de 2020 para os branches correspondentes (GDR/CU) do SQL Server 2014 SP3 e SQL Server 2016 SP2. Números de build específicos não foram confirmados nas fontes consultadas — verificar o KB exato indicado no advisory MSRC (portal.msrc.microsoft.com) para a versão instalada antes de considerar o ambiente corrigido.

Como se proteger

A correção definitiva é aplicar a atualização de segurança da Microsoft de fevereiro de 2020 para a linha de branch específica em uso (GDR ou CU) de SQL Server 2014 SP3 e SQL Server 2016 SP2. Não há número de build de correção detalhado nas fontes consultadas para cada branch — confirme a versão exata instalada e aplique o patch correspondente listado no advisory MSRC antes de considerar o ambiente corrigido, já que GDR e CU seguem trilhas de atualização diferentes e um patch de uma trilha não cobre a outra.

Se a atualização não puder ser aplicada imediatamente, o paliativo real é reduzir a exposição: restringir acesso de rede à interface do SSRS (Report Manager/Web Portal) a hosts e usuários estritamente necessários, revisar e minimizar quem possui contas autenticáveis no SSRS, e monitorar/registrar autenticações e requisições anômalas. Isso reduz a janela de ataque mas não elimina a vulnerabilidade — qualquer conta autenticada válida ainda pode explorar a falha.

A orientação da CISA no KEV é explícita: aplicar a mitigação do fornecedor ou descontinuar o uso do produto se não houver mitigação disponível — reforçando que não existe workaround de configuração que neutralize o problema sem o patch. Não confundir isolamento de rede com correção: reduzir superfície não impede exploração por um usuário interno ou por credencial comprometida.

Como detectar

Nos logs do SSRS/Report Server e do servidor web (IIS, se aplicável), procurar requisições POST anômalas para endpoints de relatórios com campos __VIEWSTATE de tamanho ou estrutura fora do padrão, especialmente vindos de contas com histórico de uso mínimo do portal. Exceções de desserialização registradas nos logs de aplicação do Reporting Services, ou processos filhos inesperados sendo gerados a partir do serviço do Report Server (ReportingServicesService.exe), são indicadores fortes de tentativa de exploração — mas não há assinatura de rede única e confiável documentada nas fontes consultadas, o que torna a detecção dependente de logging de aplicação habilitado e de correlação com autenticações incomuns.

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 Microsoft SQL Server Reporting Services when it incorrectly handles page requests, aka 'Microsoft SQL Server Reporting Services Remote Code Execution Vulnerability'.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/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.