← back
CVE-2020-17087highunder attackCWE-131

Windows Kernel Local Elevation of Privilege Vulnerability

76Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.

ssvc Actcvss 7.8epss 5.4%
from disclosure to weapon15 days
Published on NVDNov 11
1st PoC+15d
CISA KEV+357d
exploitation probability
5.4%top 8% of all CVEs
observed exploitation
yesCISA + VulnCheck
6 public exploit(s)
Action required by CISAfederal deadline: 2022-05-03

Apply updates per vendor instructions.

Summary

Falha de elevação de privilégio local no kernel do Windows, especificamente no driver de criptografia cng.sys (Cryptography Next Generation), que permite que um processo já em execução com privilégios baixos rode código com privilégios de kernel (SYSTEM). O CVSS 7.8 reflete corretamente que não há componente de rede — o atacante precisa já ter pé no sistema — mas a falha ganhou peso real porque foi usada em ataques direcionados documentados, entrando no catálogo KEV da CISA.

Technical detail

A CISA classifica a falha como CWE-131 — cálculo incorreto de tamanho de buffer. O ponto exato do defeito está no tratamento de um IOCTL pelo driver cng.sys, que expõe funcionalidade criptográfica do kernel a processos em modo usuário. Um cálculo de tamanho malfeito nessa rotina gera um subtração/underflow que resulta em escrita fora dos limites de um buffer alocado no kernel, com o atacante controlando parte do conteúdo escrito.

A Microsoft não publicou detalhes de código no advisory (prática padrão do fornecedor para vulnerabilidades de kernel), então a mecânica de underflow descrita aqui vem da classificação CWE atribuída pela CISA, não de uma dissecação linha a linha da Microsoft. O resultado prático de uma escrita corrompida em estrutura de kernel é a base clássica para elevar privilégios: sobrescrever token de processo, ponteiro de função ou estrutura de objeto controlada pelo kernel.

O vetor de ataque é local (AV:L) e exige privilégio baixo prévio (PR:L) — ou seja, o atacante já precisa executar código como usuário padrão na máquina. Não há interação do usuário necessária (UI:N) além disso, e a exploração não depende de configuração não padrão conhecida: o cng.sys é carregado por padrão em todas as versões de Windows 10 listadas.

How it’s exploited

Esta CVE não é um vetor de acesso inicial — é um degrau de escalação. O caso público documentado é uma cadeia de exploração usada em campanha atribuída a atores associados à Coreia do Norte contra pesquisadores de segurança: um exploit de dia zero no motor de renderização do Chrome (CVE-2020-15999, em FreeType) dava execução de código dentro do sandbox do navegador, e o CVE-2020-17087 no kernel do Windows era usado para escapar do sandbox e obter privilégios de SYSTEM na máquina da vítima.

Como o kernel está sempre presente e o driver cng.sys carrega por padrão, o pré-requisito real de exploração não é uma configuração especial do Windows, mas sim a etapa anterior da cadeia: o atacante precisa primeiro conseguir execução de código arbitrário (via outro exploit, malware já instalado, ou acesso físico/RDP com credenciais de baixo privilégio). Isolada, a falha não compromete uma máquina — ela transforma um comprometimento parcial em controle total do sistema.

Existe PoC pública, e a CISA confirma exploração ativa no mundo real (por isso a entrada no KEV), embora o campo "usado em ransomware" no catálogo esteja marcado como desconhecido. A complexidade de exploração é baixa uma vez que o atacante já tenha execução de código local, o que explica o AC:L no vetor CVSS.

Versions

Affected
Microsoft Windows 10 Version 1507; Windows 10 Version 1607; Windows 10 Version 1803; Windows 10 Version 1809; Windows 10 Version 1903 (32-bit, x64 e ARM64); Windows 10 Version 1909 — conforme listado pela Microsoft no advisory oficial.
Fixed in
Atualizações de segurança cumulativas de novembro de 2020 para cada branch listado. O número de KB específico por versão consta no advisory oficial do MSRC; não há dado confiável reproduzido aqui para citar KBs individuais sem risco de erro.

How to protect

A correção veio nas atualizações de segurança da Microsoft de novembro de 2020, cobrindo todas as versões listadas do Windows 10 (1507, 1607, 1803, 1809, 1903 em x86/x64/ARM64, e 1909). O advisory oficial da Microsoft (MSRC) é a referência para o KB específico de cada branch — aplique a atualização cumulativa correspondente à sua versão de build, não apenas um patch isolado.

Não há paliativo de configuração conhecido e documentado que neutralize a falha sem o patch: desabilitar ou remover o cng.sys não é uma opção viável em produção, pois o driver sustenta funções criptográficas usadas por outros componentes do sistema. Controles compensatórios reais são indiretos: reduzir a superfície de execução de código não confiável na máquina (o que impede a primeira etapa da cadeia de exploração), aplicar least privilege agressivo para contas de usuário, e EDR com detecção de comportamento de escalação de privilégio no kernel — nenhum desses substitui o patch, apenas reduz a chance de a cadeia completa se formar.

O mito a descartar: como o CVSS é "apenas" 7.8 e exige privilégio local prévio, é comum subestimar a urgência. A entrada no KEV da CISA com prazo de correção (due date 2022-05-03 para o mandato federal) e o uso documentado em campanha de espionagem contra pesquisadores de segurança mostram que o risco real independe do vetor de rede — quem já tem qualquer forma de execução de código na máquina, mesmo sem privilégio, ganha caminho para SYSTEM.

How to detect

Não há assinatura de rede aplicável, já que a exploração é inteiramente local e ocorre dentro do kernel. Em ambiente de resposta a incidentes, sinais indiretos incluem crashes ou comportamento anômalo do driver cng.sys em logs de eventos do sistema (Event Log, minidumps de kernel) e escalonamentos de privilégio inesperados detectados por EDR (processo de baixo privilégio passando a executar ações típicas de SYSTEM sem caminho legítimo). Como não há detalhe técnico público suficiente sobre o payload exato usado nos ataques documentados, não existe uma assinatura de detecção confiável e amplamente publicada para esta CVE isoladamente — o sinal mais forte de comprometimento vem da cadeia completa (exploit de navegador + artefatos pós-exploração), não da CVE-2020-17087 sozinha.

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.
Windows Kernel Local Elevation of Privilege Vulnerability
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:F/RL:O/RC:C
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.