← voltar
CVE-2018-8453highsob ataqueransomware

CVE-2018-8453

100Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.

ssvc Actcvss 7.8epss 70%
da publicação à arma100 dias
Publicada no NVD10 de out.
1ª PoC+100d
metasploit9 de out.
CISA KEV+1199d
probabilidade de exploração
70%top 1% das CVEs
exploração observada
simCISA + VulnCheck
8 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-07-21

Apply updates per vendor instructions.

Resumo

Vulnerabilidade de elevação de privilégio local no win32k.sys do Windows, causada por use-after-free em win32kfull!xxxDestroyWindow. Foi descoberta pela Kaspersky Lab como zero-day, explorada in-the-wild em ataques direcionados no Oriente Médio antes da correção, e está no catálogo KEV da CISA por exploração confirmada. Não é RCE remota: o atacante precisa já executar código no host para escalar de usuário comum a SYSTEM.

Detalhamento técnico

A falha (CWE-404, liberação/gestão indevida de recurso, consistente com um use-after-free) está na função kernel win32kfull!xxxDestroyWindow e na syscall NtUserSetWindowFNID. O código de destruição de janela altera o campo fnid (offset 0x02a na estrutura tagWND) sem verificar corretamente se o objeto já foi marcado como FNID_FREED. Isso permite que uma janela do tipo scrollbar, destruída e liberada pelo garbage collector do kernel, continue sendo referenciada pelo sistema com um fnid trocado para FNID_BUTTON em vez de FNID_FREED — ou seja, a memória é devolvida ao pool mas ainda tratada como objeto válido de outro tipo.

O exploit documentado pela Kaspersky instala hooks em três funções de callback usermode (fnDWORD, fnNCDESTROY e fnINLPCREATESTRUCT) sobrescrevendo ponteiros na KernelCallbackTable do processo. Ao processar uma mensagem WM_LBUTTONDOWN, o hook em fnDWORD chama DestroyWindow na janela pai; durante a execução, o hook em fnNCDESTROY invoca NtUserSetWindowFNID e explora a checagem ausente para reciclar a memória da scrollbar sem que ela seja marcada como liberada.

A falha é análoga a CVE-2017-0263, usada pelo grupo Sofacy em 2017 junto com um exploit de PostScript, o que sugere reaproveitamento de técnica entre atores. Após a corrupção inicial, o atacante controla o conteúdo da memória liberada via heap spraying com objetos GDI bitmap, obtendo leitura/escrita arbitrária no kernel — primitiva poderosa o suficiente para funcionar mesmo em builds recentes do Windows 10 (RS4) com Low Fragmentation Heap reforçado.

Como é explorada

Pré-requisito real: execução de código local no host — a CVSS oficial marca PR:N (o processo inicial não precisa de privilégios elevados) e UI:R (interação do usuário), o que é compatível com o cenário observado: um instalador de malware executa o exploit para obter privilégios necessários antes de persistir no sistema. Não há vetor de rede; não é explorável remotamente sem já haver execução de código na máquina-alvo.

No caso documentado pela Kaspersky, o exploit fazia parte do primeiro estágio de um instalador, usado para ganhar privilégios SYSTEM e viabilizar persistência de um implante sofisticado (payload criptografado com AES-256-CBC ligado ao SMBIOS UUID da máquina vítima, dificultando análise fora do host original). O código do exploit foi descrito como de alta qualidade, com múltiplas rotinas de heap spray específicas para diferentes builds do Windows, indicando desenvolvimento profissional visando ampla compatibilidade.

Após a corrupção de memória e obtenção de read/write arbitrário no kernel via primitivas de bitmap GDI, o payload final rouba o token de um processo SYSTEM (via EPROCESS) e o troca pelo token do processo do atacante — técnica clássica de token-stealing para elevação completa. A exploração ativa registrada foi limitada, direcionada, e antecede a correção (zero-day); o registro no KEV da CISA em 2022 reflete exploração confirmada, não necessariamente contínua ou massiva.

Versões

Afetadas
Windows 7; Windows 8.1; Windows RT 8.1; Windows 10 (múltiplas versões/builds, incluindo RS4/1803 testado pelo exploit); Windows Server 2008; Windows Server 2008 R2; Windows Server 2012; Windows Server 2012 R2; Windows Server 2016; Windows Server 2019; Windows 10 Servers — conforme listado no advisory da Microsoft.
Corrigidas em
Atualizações de segurança da Microsoft lançadas no Patch Tuesday de 9 de outubro de 2018, cobrindo as versões acima. KBs específicos por versão não constam nas fontes consultadas; consultar o advisory MSRC (portal.msrc.microsoft.com) para o número exato de atualização por SKU/build.

Como se proteger

A correção definitiva é aplicar as atualizações de segurança da Microsoft do Patch Tuesday de outubro de 2018 (9 de outubro de 2018), que corrigem CVE-2018-8453 nas versões afetadas listadas no advisory (Windows 7, 8.1, RT 8.1, 10 e Server 2008/2008 R2/2012/2012 R2/2016/2019). Os números de KB específicos por versão/edição devem ser confirmados no advisory oficial do MSRC, já que variam por build e branch de suporte — não há um único KB universal para essa CVE.

Não há workaround de configuração documentado pelo fornecedor que neutralize a falha sem o patch: é um bug de kernel em win32k.sys, componente central do subsistema gráfico do Windows, sem flag de desativação viável em produção. Como controle compensatório, reduzir a superfície de execução de código não confiável (EDR com bloqueio de exploração de kernel, AppLocker/WDAC restringindo execução de binários não assinados, princípio de menor privilégio para contas) diminui a chance de o estágio inicial do ataque (execução do instalador malicioso) ocorrer — mas não elimina a vulnerabilidade em si.

Sistemas fora de suporte (Windows 7, Server 2008/2008 R2 sem ESU) não recebem mais patch regular; nesses casos a única mitigação real é isolamento de rede e controles de detecção, já que o produto não é mais corrigido pelo fornecedor.

Como detectar

Sinal mais forte é a presença de malware que sobrescreve entradas da KernelCallbackTable do processo (hooks em fnDWORD, fnNCDESTROY, fnINLPCREATESTRUCT) e que gera padrões de heap spray com múltiplos objetos GDI bitmap antes de uma chamada a DestroyWindow/NtUserSetWindowFNID — comportamento observável por soluções de prevenção de exploração de kernel e engines comportamentais (a Kaspersky detectou o ataque original via Automatic Exploit Prevention, com verdicts como HEUR:Exploit.Win32.Generic e PDM:Exploit.Win32.Generic). Não há assinatura de rede, pois a exploração é inteiramente local no kernel; monitoramento deve focar em telemetria de EDR (chamadas anômalas a APIs win32k, criação/destruição de janelas fora de padrão de UI, elevação de token para SYSTEM por processo não administrativo) e amostras de malware correspondentes ao módulo Metasploit público ou à família de exploit descrita pela Kaspersky.

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.
An elevation of privilege vulnerability exists in Windows when the Win32k component fails to properly handle objects in memory, aka "Win32k Elevation of Privilege Vulnerability." This affects Windows 7, Windows Server 2012 R2, Windows RT 8.1, Windows Server 2008, Windows Server 2019, Windows Server 2012, Windows 8.1, Windows Server 2016, Windows Server 2008 R2, Windows 10, Windows 10 Servers.
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/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.