CVE-2017-0005
Priorize a correção. Ela está sob exploração confirmada pelo CISA, tem prova de conceito pública e 1 grupo(s) de ameaça a utilizam.
Grupos conhecidos por explorar esta vulnerabilidade (atribuição MITRE ATT&CK).
Apply updates per vendor instructions.
Resumo
Falha de elevação de privilégio local no componente GDI/Win32k do kernel do Windows, corrigida pela Microsoft em março de 2017 (MS17-013). Foi descoberta como zero-day em exploração ativa, reportada à Microsoft por um parceiro de confiança, e usada para escalar de usuário comum a SYSTEM em máquinas já comprometidas — não é uma falha remota, serve como segunda etapa de um ataque que já obteve execução de código local.
Detalhamento técnico
A vulnerabilidade está no Win32k, o subsistema do kernel do Windows responsável por GDI (Graphics Device Interface). O CISA classifica a falha como CWE-119 (erro de acesso a buffer/memória fora dos limites). A análise da Microsoft do exploit em circulação mostra que a corrupção ocorre em um ponteiro de função dentro de um objeto PALETTE — especificamente o campo pfnGetNearestFromPalentry. Uma aplicação maliciosa consegue manipular esse objeto de paleta para que o ponteiro passe a apontar para código controlado pelo atacante.
O caminho de disparo identificado usa a API nativa NtGdiEngBitBlt, que internamente invoca win32k!XLATEOBJ_iXlate. Essa rotina, ao processar o objeto PALETTE corrompido, chama o ponteiro de função adulterado em contexto de kernel, transferindo o fluxo de execução para shellcode preparado pelo atacante. É a mesma classe de técnica documentada anteriormente em pesquisa sobre Duqu 2.0 (que usava GetNearestPaletteIndex do Gdi32.dll como vetor de disparo) — a Microsoft observou que o exploit de 2017 é um exploit distinto, não uma reutilização, apesar da técnica de corrupção de ponteiro de paleta ser conceitualmente conhecida e documentada publicamente desde pelo menos 2015.
Após desviar o fluxo para o shellcode em modo kernel, o exploit usa a técnica clássica de token-swapping: troca o token de acesso do processo atual pelo token de um processo SYSTEM, elevando privilégios sem precisar executar código adicional em modo kernel além do necessário para essa troca.
Como é explorada
Pré-requisito real: o atacante já precisa executar código como usuário local com privilégios baixos (PR:L) na máquina alvo — a CVE não concede acesso inicial, ela escala privilégio de quem já tem uma sessão ou conseguiu rodar uma aplicação. Não há componente de rede; a exploração é inteiramente local, sem interação do usuário (UI:N) além de rodar o binário malicioso.
O exploit real observado em campo (analisado pela Microsoft) foi desenhado deliberadamente para rodar apenas em Windows 7 e Windows 8 de 64 bits — a rotina de checagem de ambiente identifica a versão major/minor do sistema e aborta em Windows 8.1 e Windows 10, plataformas com mitigações de kernel mais robustas (SMEP, VBS) que a Microsoft constatou nos testes que quebram a técnica caso forçada a rodar nesses sistemas. Isso é informação relevante: a falha em si afeta uma lista ampla de versões (Vista até Windows 10 1607), mas o exploit de zero-day documentado tinha alvo restrito.
O uso prático é como componente de escalada de privilégio dentro de uma cadeia de ataque — malware ou implante que já obteve execução como usuário comum usa esse exploit para virar SYSTEM e assim desabilitar defesas, acessar outros contextos de usuário ou persistir. A presença no catálogo KEV da CISA confirma exploração confirmada em ambiente real, adicionada em 2022 com prazo de correção até 14/06/2022 para agências federais dos EUA — reflexo de uso continuado da falha muito depois da correção original, típico de ambientes que não aplicaram o patch de 2017.
Versões
Como se proteger
A correção oficial é o boletim de segurança MS17-013, lançado em 14 de março de 2017 (Patch Tuesday), aplicável a todas as versões listadas: Windows Vista SP2, Windows Server 2008 SP2 e R2 SP1, Windows 7 SP1, Windows 8.1, Windows Server 2012 Gold e R2, Windows RT 8.1, e Windows 10 Gold/1511/1607. As fontes disponíveis não especificam números de build ou KB individuais por versão — consulte o boletim MS17-013 no portal MSRC para o KB exato aplicável à sua versão/edição específica antes de considerar corrigido.
Como mitigação estratégica de longo prazo, a própria Microsoft documentou que Supervisor Mode Execution Prevention (SMEP) e virtualization-based security (VBS), disponíveis a partir de hardware e versões de Windows mais recentes, quebram a técnica de exploração observada mesmo sem o patch específico — isso não substitui a correção, mas reduz a superfície em sistemas legados que ainda não podem ser atualizados. Sistemas Windows 7/8 de 64 bits sem esses recursos habilitados são os que casam com o perfil real do exploit documentado.
Não existe mitigação via configuração de aplicação ou WAF — é falha de kernel local, então o único controle compensatório real além do patch é reduzir a superfície de execução de código não confiável na máquina (política de aplicação permitida, EDR com detecção de comportamento de token-swapping) e restringir quem pode rodar binários arbitrários localmente.
Como detectar
A Microsoft descreveu que o Windows Defender ATP (na época) ganhou capacidade, com o Creators Update, de detectar atividades de elevação de privilégio associadas a este exploit, incluindo o padrão de token-swapping usado na etapa final. Não há assinatura de log de evento nativo do Windows documentada nas fontes disponíveis para identificar retroativamente a exploração — a detecção depende de telemetria comportamental de EDR (chamadas anômalas a NtGdiEngBitBlt, manipulação de objetos GDI/PALETTE fora do padrão, ou troca de token de processo sem justificativa) e não de um IOC estático simples.