← back
CVE-2017-0005highunder attack

CVE-2017-0005

76Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA, has a public proof of concept and 1 threat group(s) use it.

ssvc Actcvss 7.8epss 11%
from disclosure to weapon963 days
Published on NVDMar 17
1st PoC+963d
CISA KEV+1894d
exploitation probability
11%top 5% of all CVEs
observed exploitation
yesCISA + VulnCheck
1 group(s)2 public exploit(s)
Who exploits it1

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

Action required by CISAfederal deadline: 2022-06-14

Apply updates per vendor instructions.

Summary

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.

Technical detail

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.

How it’s exploited

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.

Versions

Affected
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; Windows 10 Gold, 1511 e 1607.
Fixed in
Corrigido pelo boletim MS17-013, publicado em 14 de março de 2017. Números de build/KB específicos por versão não constam nas fontes consultadas — verificar no advisory oficial do MSRC.

How to protect

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.

How to detect

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.

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.
The Graphics Device Interface (GDI) in Microsoft Windows Vista SP2; Windows Server 2008 SP2 and R2 SP1; Windows 7 SP1; Windows 8.1; Windows Server 2012 Gold and R2; Windows RT 8.1; and Windows 10 Gold, 1511, and 1607 allows local users to gain privileges via a crafted application, aka "Windows GDI Elevation of Privilege Vulnerability." This vulnerability is different from those described in CVE-2017-0001, CVE-2017-0025, and CVE-2017-0047.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.