← back
CVE-2020-0688highunder attackransomwareCWE-287

CVE-2020-0688

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA, has a working public exploit and 3 threat group(s) use it.

ssvc Actcvss 8.8epss 100%
from disclosure to weapon14 days
Published on NVDFeb 11
1st PoC+14d
metasploitFeb 11
CISA KEV+631d
exploitation probability
100%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
3 group(s)46 public exploit(s)
Who exploits it3

Groups known to exploit this vulnerability (MITRE ATT&CK attribution).

Action required by CISAfederal deadline: 2022-05-03

Apply updates per vendor instructions.

Summary

Falha de deserialização no Exchange Control Panel (ECP) do Microsoft Exchange Server que permite execução remota de código como SYSTEM. Exige autenticação — qualquer conta de caixa de correio válida, mesmo sem privilégios administrativos — o que reduz o requisito de acesso, mas ainda assim é considerada crítica porque compromete o servidor inteiro, não apenas a caixa do usuário autenticado. Está no catálogo KEV da CISA com exploração confirmada e possui módulo Metasploit e PoC públicos desde fevereiro de 2020.

Technical detail

O problema está no mecanismo de ViewState do ASP.NET usado pela aplicação web ECP do Exchange. Segundo a Zero Day Initiative (ZDI-20-258), o produto falha em gerar uma chave criptográfica única durante a instalação — a mesma chave (ou um valor derivado de forma previsível) é usada para assinar/validar o ViewState em instalações diferentes. Isso quebra a garantia de integridade que o MAC do ViewState deveria oferecer.

Como a chave de validação é previsível, um atacante consegue forjar um ViewState malicioso que passa a verificação de integridade do ASP.NET. O ASP.NET então desserializa esse ViewState — que contém dados controlados pelo atacante — instanciando objetos arbitrários. Esse padrão é uma deserialização de dados não confiáveis clássica (CWE-502), viabilizada por uma chave criptográfica fixa/previsível (CWE-321/CWE-330). A CISA classifica a falha sob CWE-287 (Improper Authentication), enfatizando que a raiz é a ausência de unicidade da chave gerada no install, mas o impacto prático é execução de código via desserialização.

O pool de aplicação do ECP no IIS roda com privilégios de SYSTEM, então qualquer código desserializado e executado nesse contexto herda esse nível de acesso — daí o CVSS C:H/I:H/A:H mesmo com PR:L (privilégio baixo) no vetor.

How it’s exploited

A exploração exige autenticação: o atacante precisa de credenciais válidas de uma conta com caixa de correio no Exchange (não precisa ser administrador) e acesso de rede ao endpoint ECP, normalmente exposto junto com o OWA em implantações com Exchange voltado à internet. Não há interação de usuário adicional (UI:N) além do próprio atacante autenticado enviando a requisição.

Com credenciais em mãos, o atacante monta uma requisição ao ECP contendo um ViewState malicioso assinado com a chave previsível/fixa da instalação, forçando o ASP.NET a desserializar um payload que resulta em execução de comando no contexto do processo do app pool — SYSTEM. Isso dá controle total do servidor Exchange, não apenas da conta usada para autenticar, o que é o salto de privilégio real da falha.

Há PoC pública, módulo Metasploit e a vulnerabilidade está no catálogo KEV da CISA, confirmando exploração ativa em campanhas reais — inclusive combinada com técnicas de obtenção de credenciais de baixo privilégio (phishing, spraying) como passo prévio, já que a barreira de entrada é justamente ter qualquer conta válida.

Versions

Affected
Microsoft Exchange Server 2010 Service Pack 3 (até Update Rollup 30); Exchange Server 2013 (builds anteriores à atualização de fevereiro/2020); Exchange Server 2016 Cumulative Update 14 e Cumulative Update 15; Exchange Server 2019 Cumulative Update 3 e Cumulative Update 4.
Fixed in
As atualizações de segurança de fevereiro de 2020 da Microsoft para cada uma das linhas afetadas (Exchange 2010 SP3, 2013, 2016 CU14/CU15 e 2019 CU3/CU4) corrigem a falha; a Microsoft não publicou números de build específicos nas fontes consultadas além dessa referência às CUs/RUs afetadas — confirme o KB exato no advisory oficial da Microsoft (MSRC) antes de considerar o ambiente corrigido.

How to protect

A correção é aplicar as atualizações de segurança de fevereiro de 2020 da Microsoft para a linha específica de Exchange em uso (2010 SP3, 2013, 2016 CU14/CU15, 2019 CU3/CU4 conforme listado no advisory). Não há paliativo equivalente a patch: a raiz do problema é a chave de validação gerada de forma insegura no install, e não existe flag de configuração documentada pela Microsoft que regenere essa chave corretamente sem aplicar a atualização.

Como mitigação compensatória enquanto o patch não é aplicado, restringir o acesso ao ECP (e ao OWA/ECP combinados) apenas a redes confiáveis ou VPN reduz a superfície de exposição, já que a maioria dos cenários de exploração observados depende de alcançar o endpoint remotamente pela internet. Isso não corrige a falha, apenas limita quem pode tentar.

MFA e políticas de senha forte não neutralizam esta vulnerabilidade — o pré-requisito é qualquer conta autenticada válida com caixa de correio, e uma vez a sessão estabelecida a exploração ocorre no nível da aplicação web, não no processo de login. Segmentar contas por privilégio também não ajuda, pois PR:L basta.

How to detect

Requisições autenticadas ao endpoint /ecp/ com parâmetros __VIEWSTATE anormalmente grandes ou malformados, vindas de contas com histórico de uso atípico do ECP, são um indício. Em nível de sistema, o processo do app pool do ECP (w3wp.exe rodando como MSExchangeECPAppPool) gerando processos filho inesperados (cmd.exe, powershell.exe, csc.exe) é um sinal forte de exploração bem-sucedida, já que a execução de código ocorre no contexto desse worker process. Não há assinatura de rede única e confiável documentada nas fontes consultadas — a detecção depende de correlacionar logs de IIS/ECP com telemetria de processo no host.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
A remote code execution vulnerability exists in Microsoft Exchange software when the software fails to properly handle objects in memory, aka 'Microsoft Exchange Memory Corruption Vulnerability'.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
public PoCs found46 VexDay Proof
exploitdbVexDay Proofwww.exploit-db.com/exploits/48168exploitdbwww.exploit-db.com/exploits/48153unverifiedgithubgithub.com/zcgonvh/CVE-2020-0688353githubgithub.com/Ridter/cve-2020-0688327githubgithub.com/random-robbie/cve-2020-0688164githubgithub.com/Yt1g3r/CVE-2020-0688_EXP144githubgithub.com/Jumbo-WJB/CVE-2020-068866githubgithub.com/onSec-fr/CVE-2020-0688-Scanner37githubgithub.com/w4fz5uck5/cve-2020-0688-webshell-upload-technique23githubgithub.com/MrTiz/CVE-2020-068821githubgithub.com/W01fh4cker/CVE-2020-0688-GUI16githubgithub.com/zyn3rgy/ecp_slap11githubgithub.com/ravinacademy/CVE-2020-068811githubgithub.com/youncyb/CVE-2020-068810githubgithub.com/cert-lv/CVE-2020-06888githubgithub.com/justin-p/PSForgot2kEyXCHANGE5githubgithub.com/murataydemir/CVE-2020-06884githubgithub.com/ktpdpro/CVE-2020-06883githubgithub.com/1337-llama/CVE-2020-0688-Python32githubgithub.com/mahyarx/Exploit_CVE-2020-06882githubgithub.com/righter83/CVE-2020-06882githubgithub.com/SLSteff/CVE-2020-0688-Scanner2githubgithub.com/ann0906/proxylogon1githubgithub.com/chudamax/CVE-2020-0688-Exchange20101githubgithub.com/truongtn/cve-2020-06881githubgithub.com/tvdat20004/CVE-2020-06880githubgithub.com/7heKnight/CVE-2020-06880githubgithub.com/iamwajd/Cyber-Attack-Analysis0vulncheckvulncheck.com/xdb/05c78c55c273unverifiedvulncheckvulncheck.com/xdb/f58d70470909unverifiedvulncheckvulncheck.com/xdb/ac5f11e6a30dunverifiedvulncheckvulncheck.com/xdb/96c707bb39f5unverifiedvulncheckvulncheck.com/xdb/1fe8a75efd31unverifiedvulncheckvulncheck.com/xdb/ae5d257ebb54unverifiedvulncheckvulncheck.com/xdb/e502b8576da7unverifiedvulncheckvulncheck.com/xdb/ab48dae2440aunverifiedvulncheckvulncheck.com/xdb/8a20e8eac65dunverifiedvulncheckvulncheck.com/xdb/42b75e809382unverifiedvulncheckvulncheck.com/xdb/ed6eb904124bunverifiedvulncheckvulncheck.com/xdb/7f793deb1114unverifiedvulncheckvulncheck.com/xdb/c2dc4dbb6f66unverifiedvulncheckvulncheck.com/xdb/730fc9157ab0unverifiedcve_referencepacketstormsecurity.com/files/156620/Exchange-Control-Panel-Viewstate-Deserialization.htmlunverifiedcve_referencepacketstormsecurity.com/files/156592/Microsoft-Exchange-2019-15.2.221.12-Remote-Code-Execution.htmlunverifiedvulncheckvulncheck.com/xdb/7937e058bdf2unverifiedvulncheckvulncheck.com/xdb/868234a5c9b7unverified
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.