Microsoft SharePoint Server Remote Code Execution Vulnerability
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Disconnect public-facing versions of SharePoint Server that have reached their end-of-life (EOL) or end-of-service (EOS) to include SharePoint Server 2013 and earlier versions. For supported versions, please follow the mitigations according to CISA (URL listed below in Notes) and vendor instructions (URL listed below in Notes). Adhere to the applicable BOD 22-01 guidance for cloud services or discontinue use of the product if mitigations are not available.
Resumo
CVE-2025-53770 é uma falha de deserialização de dados não confiáveis no SharePoint Server on-premises (2016, 2019 e Subscription Edition) que permite execução remota de código sem autenticação. É a variante que bypassa a correção de julho/2025 para a cadeia original 'ToolShell' (CVE-2025-49704 + CVE-2025-49706), e foi explorada em massa como zero-day antes de existir patch — motivo pelo qual entrou no KEV da CISA e tem EPSS praticamente 1.0.
Detalhamento técnico
A raiz técnica é a mesma da cadeia ToolShell demonstrada na Pwn2Own Berlin (maio/2025): o SharePoint usa ASP.NET ViewState assinado com uma MachineKey (ValidationKey) armazenada na configuração do servidor para garantir que o __VIEWSTATE recebido em requisições não foi adulterado. Um endpoint acessível sem autenticação (via manipulação de rota, historicamente ligado a /_layouts/15/ToolPane.aspx com parâmetros de DisplayMode=Edit) permite acionar lógica interna que expõe a ValidationKey em memória/configuração — efetivamente um vazamento de segredo criptográfico (CWE relacionado a exposição de informação sensível) que anula a proteção contra deserialização insegura (CWE-502).
Como é explorada
Com a ValidationKey e o algoritmo de validação em mãos, o atacante usa uma ferramenta de geração de payload de deserialização (o caso documentado usa ysoserial) para forjar um __VIEWSTATE assinado e válido, que o servidor aceita como confiável. Ao enviar esse payload em uma requisição HTTP normal, o SharePoint desserializa o objeto malicioso e executa o comando embutido (tipicamente PowerShell) com os privilégios do processo IIS/SharePoint — tudo sem credenciais, bastando acesso de rede ao endpoint exposto. O padrão observado em campo (nomeado ToolShell) inclui um POST a /_layouts/15/ToolPane.aspx seguido de um GET a um .aspx dropado (ex.: spinstall0.aspx) que lê e expõe as chaves de máquina; a execução do código em si pode ocorrer em memória, sem exigir escrita de arquivo em disco. A exploração ativa foi confirmada pela Microsoft e por múltiplos pesquisadores (Eye Security identificou mais de 400 servidores comprometidos entre ~23.000 escaneados, com pelo menos duas ondas de ataque em 18 e 19 de julho de 2025, e ondas adicionais depois); a Eye Security nota que a exploração inicial observada nessas ondas específicas correspondia à cadeia original CVE-2025-49706/49704 (já corrigida em 8 de julho), enquanto CVE-2025-53770 é a variante que contorna esse patch.
Versões
Como se proteger
A Microsoft publicou atualização emergencial (out-of-band) cobrindo SharePoint Subscription Edition e SharePoint Server 2019, com 'proteções mais robustas' contra CVE-2025-49704/49706. Para SharePoint 2016, não havia patch disponível no momento da divulgação; a orientação da Microsoft era habilitar a integração com AMSI (Antimalware Scan Interface) como controle compensatório, já que não substitui o patch mas bloqueia parte das cargas de exploração na camada de scan. Aplicar o patch por si só não remove o atacante do ambiente: como a ValidationKey pode ter sido exfiltrada antes da correção, é necessário rotacionar as chaves de máquina ASP.NET (ValidationKey/DecryptionKey) e reiniciar o IIS depois de patchear — sem essa rotação, tokens forjados anteriormente continuam válidos mesmo em servidor corrigido. Isolar a interface de administração/endpoints do SharePoint da internet reduz a superfície, mas não é mitigação completa quando o serviço precisa ficar exposto para uso legítimo.
Como detectar
Nos logs de IIS, procure por requisições POST a /_layouts/15/ToolPane.aspx com parâmetros como DisplayMode=Edit, especialmente quando o campo Referer aponta para /_layouts/SignOut.aspx (indicativo de forjar contexto pós-logout) e o campo cs-username fica vazio — sinal de que a requisição nunca foi autenticada de fato. Na sequência, procure GET a arquivos .aspx anômalos sob /_layouts/15/ (o artefato documentado publicamente é spinstall0.aspx, mas pesquisadores alertam que variantes com outros nomes são esperadas) e a presença de arquivos .aspx recém-criados nas pastas TEMPLATE/LAYOUTS. Ausência desses IOCs não garante que o servidor não foi comprometido, já que a técnica permite execução em memória sem gravação em disco; organizações com SharePoint on-premises exposto à internet nesse período devem assumir comprometimento e revisar logs completos, não apenas buscar por esses padrões pontuais.