← voltar
CVE-2024-21338highsob ataqueransomwareCWE-822

Windows Kernel Elevation of Privilege Vulnerability

88Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.

ssvc Actcvss 7.8epss 60%
da publicação à arma49 dias
Publicada no NVD13 de fev.
1ª PoC+49d
CISA KEV+20d
probabilidade de exploração
60%top 1% das CVEs
exploração observada
simCISA + VulnCheck
18 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2024-03-25

Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.

Resumo

Falha de elevação de privilégio no driver appid.sys (Application Identity, usado pelo AppLocker) do kernel do Windows. Um IOCTL exposto pelo driver não valida corretamente os privilégios de quem o chama, permitindo que um atacante com acesso local — na prática, com privilégios administrativos, segundo a exploração documentada — obtenha leitura e escrita arbitrária em memória de kernel. Importa porque foi usada como zero-day pelo grupo Lazarus para instalar uma versão atualizada do rootkit FudModule, evitando a técnica ruidosa de BYOVD (trazer um driver vulnerável de terceiros) já que appid.sys é um componente nativo, assinado e presente por padrão no Windows.

Detalhamento técnico

O driver appid.sys implementa o dispatcher de IOCTLs do serviço Application Identity, componente do AppLocker. A CISA classifica a falha como CWE-822 (o texto oficial da vulnerabilidade fala em 'exposed IOCTL with insufficient access control'), ou seja, o dispatcher aceita chamadas de IOCTL sem impor os checks de controle de acesso adequados sobre quem pode invocá-las e sobre os dados de entrada. Isso dá ao chamador em modo usuário influência sobre estruturas internas do driver que deveriam ser tratadas como confiáveis.

O PoC público (Exploit-DB #52275) explora a função interna AipSmartHashImageFile do appid.sys. O código monta um buffer de IOCTL cujo layout muda conforme a versão do Windows (build < 22000 para Windows 10 vs. Windows 11), usa o pseudo-handle -2 (thread atual) duplicado e consultas a NtQuerySystemInformation com SystemHandleInformation/SystemModuleInformation para vazar endereços de objetos de kernel (ETHREAD, FILE_OBJECT) e do módulo ntoskrnl. Com esses endereços resolvidos, o exploit usa o IOCTL vulnerável para escrever no campo PreviousMode da estrutura ETHREAD (offset 0x232 documentado no PoC), forçando o kernel a tratar chamadas subsequentes da thread como se já estivessem em modo kernel — uma primitiva clássica de leitura/escrita arbitrária de memória de kernel a partir de modo usuário.

A Avast, que reportou a falha à Microsoft, descreve o cenário como 'admin-to-kernel': a Microsoft não trata essa fronteira como limite de segurança formal, mas na prática ela impede que malware com privilégios de administrador dance livremente dentro do kernel sem depender de driver de terceiros vulnerável (BYOVD). Ao explorar um driver nativo e assinado, o atacante evita os dois pontos de detecção clássicos de BYOVD: gravar um driver vulnerável no disco e carregá-lo via serviço.

Como é explorada

O vetor é local — não há componente de rede. O CVSS (AV:L/AC:L/PR:L/UI:N) indica exploração sem interação do usuário e com privilégios baixos como pré-requisito formal, mas a exploração documentada pelo Lazarus e pelo PoC público assume que o atacante já executa código com privilégios administrativos na máquina (pós-comprometimento). Ou seja, não é uma escalada de usuário anônimo para SYSTEM a partir do zero: é a etapa que transforma 'admin local' em 'controle total de kernel', o que é crítico para operações de APT que precisam desativar EDR/AV e ocultar presença.

Na campanha documentada pela Avast, o grupo Lazarus usou a falha como zero-day (antes da correção de fevereiro de 2024) para implantar uma versão atualizada do rootkit data-only FudModule, obtendo uma primitiva de leitura/escrita de kernel e, a partir dela, manipulação direta de objetos de kernel (DKOM) — incluindo uma técnica nova de manipulação de handle table para tentar suspender processos protegidos PPL associados a Microsoft Defender, CrowdStrike Falcon e HitmanPro.

Depois da divulgação e patch, surgiu PoC público (Exploit-DB, abril de 2025) que reproduz o mecanismo de forma independente, reduzindo a barreira de entrada para replicar a exploração em ambientes não corrigidos. A CVE está no catálogo KEV da CISA com confirmação de exploração ativa in-the-wild antes da correção.

Versões

Afetadas
Microsoft Windows 10 Version 1809; Windows 10 Version 21H2; Windows 10 Version 22H2; Windows 11 version 21H2; Windows 11 version 22H2; Windows 11 version 22H3; Windows 11 Version 23H2; Windows Server 2019 — conforme listado pelo fornecedor no advisory MSRC.
Corrigidas em
Corrigido pela atualização de segurança de fevereiro de 2024 (Patch Tuesday) da Microsoft. Os números de build/KB específicos por versão do Windows não estão detalhados nas fontes consultadas; consulte o advisory oficial da MSRC (link em referências) para o KB exato aplicável a cada versão listada.

Como se proteger

A correção definitiva é aplicar a atualização de segurança de fevereiro de 2024 (Patch Tuesday) da Microsoft para o build específico de cada versão listada — consulte o advisory da MSRC para o número de KB exato de cada sistema operacional, pois as fontes consultadas não detalham os números de build corrigidos por versão. A CISA exigiu a correção (ou descontinuação do produto, na ausência de mitigação) para agências federais dos EUA até 25/03/2024, prazo que serve de referência de urgência para qualquer ambiente exposto.

Não há workaround oficial documentado além do patch: appid.sys é um componente nativo do Windows, presente independentemente de o AppLocker estar configurado ou não, então desativar políticas de AppLocker não é uma mitigação validada pelo fornecedor. Bloqueio de driver de terceiros (vulnerable driver blocklist) não se aplica aqui, já que o driver é nativo e assinado — essa é justamente a razão pela qual esse tipo de falha é mais perigoso que um BYOVD clássico.

Como controle compensatório, monitorar e restringir rigorosamente quem obtém privilégios administrativos locais reduz a superfície, já que a exploração documentada parte de um atacante que já tem esse nível de acesso. Isso não substitui o patch, apenas limita quem pode chegar ao ponto de disparar a falha.

Como detectar

Não há assinatura de arquivo confiável para caçar, como haveria em um BYOVD clássico: appid.sys é nativo, assinado e legítimo, então sua mera presença não indica nada. Sinais possíveis incluem chamadas anômalas de IOCTL ao dispositivo do AppID a partir de processos que não são o serviço Application Identity legítimo, padrões de duplicação do pseudo-handle -2 seguidos de consultas a NtQuerySystemInformation com SystemHandleInformation/SystemModuleInformation vindas de processos não relacionados a ferramentas administrativas, e tentativas de suspensão ou manipulação de processos PPL associados a soluções de segurança (Defender, EDR).

Como indicador secundário, a Avast e outros pesquisadores publicaram IOCs e detalhes de comportamento do rootkit FudModule associado a essa exploração; presença desses artefatos (manipulação direta de objetos de kernel, DKOM, alterações em handle tables) é evidência de exploração bem-sucedida, mas sua ausência não descarta uma tentativa — a exploração em si deixa poucos rastros em disco.

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.
Windows Kernel 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
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.