← volver
CVE-2018-8440highbajo ataqueransomware

CVE-2018-8440

93Vexday Risk Score

Corrige ahora. Ella está bajo explotación confirmada por CISA y tiene exploit funcional público.

ssvc Actcvss 7.8epss 18%
de la publicación al arma48 días
Publicada en NVD13 sept
1ª PoC+48d
metasploit27 ago
CISA KEV+1292d
probabilidad de explotación
18%top 3% de las CVE
explotación observada
CISA + VulnCheck
2 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-04-18

Apply updates per vendor instructions.

Resumen

Falha de elevação de privilégio local no Windows Task Scheduler: o método SchRpcSetSecurity, exposto via ALPC, altera a lista de controle de acesso (ACL) de um arquivo sem impersonar o usuário que fez a chamada. Um usuário local sem privilégios pode usar isso para conceder a si mesmo permissão de escrita sobre praticamente qualquer arquivo do sistema, inclusive DLLs carregadas por processos SYSTEM, e escalar para execução de código com privilégios de sistema. Importa porque foi divulgada como 0day público com PoC funcional antes de existir patch, e está no catálogo KEV da CISA por exploração confirmada — mas o vetor é estritamente local, não remoto.

Detalle técnico

O componente afetado é o Task Scheduler (schedsvc.dll, com lógica auxiliar em taskcomp.dll). O método RPC SchRpcSetSecurity(path, sddl, flags) é chamado por qualquer processo local via ALPC e serve para definir o security descriptor de uma tarefa ou pasta de tarefas em um caminho de arquivo arbitrário. A função RpcServer::SetSecurity, que implementa esse método, chama a operação de sistema de arquivos SetSecurityFile antes de iniciar a impersonação do cliente chamador — quando deveria impersonar primeiro. O resultado é que a alteração de ACL é executada com a identidade do próprio serviço, Local System, e não com a identidade (normalmente restrita) do usuário que fez a chamada. Isso é essencialmente uma falha de controle de autorização/impersonação incorreta (CWE-269 — gerenciamento incorreto de privilégios).

Cómo se explota

O SandboxEscaper (pesquisador que divulgou a falha) demonstrou o abuso da seguinte forma, conforme análise do 0patch: um usuário sem privilégios cria, na pasta %SystemRoot%\Tasks (onde a criação de novas tarefas é permitida a usuários não administradores), um arquivo .job que na verdade é um hard link apontando para um arquivo protegido do sistema (no PoC, uma DLL usada pelo spooler de impressão). Em seguida, o atacante chama SchRpcSetSecurity sobre esse .job para 'liberar' as permissões — como a chamada não é impersonada, a alteração de ACL se propaga para o arquivo de sistema apontado pelo hard link, tornando-o gravável pelo usuário comum. Com isso o atacante sobrescreve o arquivo de sistema com conteúdo malicioso e aciona a execução dele por um processo privilegiado (no exemplo, disparando o serviço de spooler de impressão para carregar a DLL adulterada), obtendo execução de código como SYSTEM.

Exigências reais: acesso local interativo com uma conta já autenticada, mesmo de baixo privilégio (PR:L no vetor CVSS); nenhuma interação de usuário adicional é necessária; não há componente de rede/remoto. É, portanto, uma vulnerabilidade de escalonamento pós-comprometimento inicial ou de ambiente multiusuário compartilhado (terminal server, RDS, estações compartilhadas), não uma falha explorável remotamente por si só.

A CISA confirma exploração ativa (entrada no catálogo KEV), e existem PoC pública original e módulo Metasploit, o que reduz bastante a barreira técnica para reprodução — a complexidade de exploração é baixa uma vez obtido acesso local.

Versiones

Afectadas
Windows 7; Windows Server 2008; Windows Server 2008 R2; Windows Server 2012; Windows Server 2012 R2; Windows 8.1; Windows RT 8.1; Windows Server 2016; Windows 10; Windows 10 Servers — conforme lista de produtos afetados publicada pela Microsoft, sem builds específicas detalhadas nas fontes consultadas.
Corregidas en
Atualização de segurança da Microsoft para CVE-2018-8440, liberada em 11 de setembro de 2018 (Patch Tuesday), que substitui schedsvc.dll com a correção na função RpcServer::SetSecurity. Números de build/KB exatos por versão de Windows não constam nas fontes utilizadas; consultar o advisory oficial da Microsoft (MSRC) para a atualização específica de cada sistema operacional afetado.

Cómo protegerse

A correção definitiva é aplicar a atualização de segurança da Microsoft para CVE-2018-8440, distribuída via Windows Update em 11/09/2018, que corrige a função RpcServer::SetSecurity em schedsvc.dll para impersonar corretamente o chamador antes (e reverter depois) da operação de definição de ACL — comportamento confirmado por diff binário (BinDiff) pelo 0patch, que mostrou a correção da Microsoft funcionalmente idêntica à sua micropatch. Não há números de KB específicos nas fontes consultadas aqui; o caminho correto é aplicar o cumulative update do mês correspondente à versão de Windows em uso, conforme instruções do fornecedor.

Como paliativo temporário — antes de existir patch oficial — o 0patch publicou uma micropatch de terceiros para diversas versões de Windows, injetando chamadas RpcImpersonateClient/RpcRevertToSelf em torno da operação vulnerável; isso é um controle compensatório de terceiros, não substitui o patch oficial e deixa de ser aplicado automaticamente quando o schedsvc.dll é atualizado (o hash do binário muda). Não há flag de registro ou configuração suportada pela Microsoft que desative apenas o comportamento vulnerável do Task Scheduler sem quebrar sua funcionalidade — restringir ou desabilitar o serviço Task Scheduler não é uma mitigação recomendada, pois quebra funcionalidades essenciais do sistema.

Cómo detectar

As fontes consultadas não descrevem assinaturas de detecção formais publicadas pelo fornecedor ou por terceiros para esta CVE. Com base no mecanismo, sinais suspeitos a observar incluem: eventos de alteração de permissões (Security log ID 4670) em arquivos de sistema sensíveis feitos por contas não administrativas; criação de hard links dentro de %SystemRoot%\Tasks ou uso do método SchRpcSetSecurity por processos não relacionados à administração de tarefas agendadas; modificações inesperadas em DLLs do sistema (como bibliotecas usadas pelo spooler de impressão) fora de janelas de atualização; e carregamento de DLLs recém-modificadas por serviços privilegiados (schedsvc.exe, spoolsv.exe) imediatamente após uma mudança de ACL. Não há indicador de rede, já que a exploração é inteiramente local via ALPC.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
An elevation of privilege vulnerability exists when Windows improperly handles calls to Advanced Local Procedure Call (ALPC), aka "Windows ALPC Elevation of Privilege Vulnerability." This affects Windows 7, Windows Server 2012 R2, Windows RT 8.1, Windows Server 2008, 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:L/UI:N/S:U/C:H/I:H/A:H
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.