← volver
CVE-2019-1069highbajo ataqueransomwareCWE-59

Task Scheduler Elevation of Privilege Vulnerability

73Vexday Risk Score

Prioriza la corrección. Ella está bajo explotación confirmada por CISA y tiene prueba de concepto pública.

ssvc Actcvss 7.8epss 6.1%
de la publicación al arma0 días
Publicada en NVD12 jun
1ª PoC3 jun
CISA KEV+1007d
probabilidad de explotación
6.1%top 7% de las CVE
explotación observada
CISA + VulnCheck
1 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-04-05

Apply updates per vendor instructions.

Resumen

Falha de escalonamento de privilégios local no Windows Task Scheduler que permite a um usuário autenticado sem privilégios assumir controle total (incluindo posse) de qualquer arquivo do sistema, inclusive binários protegidos por TrustedInstaller — abrindo caminho para execução como SYSTEM. Foi divulgada publicamente por SandboxEscaper com exploit funcional antes de existir patch, e resolvida pela Microsoft em junho de 2019. Importa porque o vetor exige apenas execução de código local não privilegiado, um pré-requisito comum em pós-exploração e em ambientes multiusuário.

Detalle técnico

A causa é uma combinação de link following (CWE-59) com um problema de impersonation na função tsched::SetJobFileSecurityByName(), dentro de schedsvc.dll (o serviço Task Scheduler, que roda como NT AUTHORITY\SYSTEM). Quando um usuário pede para alterar a configuração 'run-as' de uma tarefa agendada (via schtasks.exe /change /RU /RP), a RPC _SchRpcSetSecurity() ajusta a DACL e o owner do arquivo .job correspondente em %Windir%\system32\tasks para dar ao usuário chamador acesso total — operação legítima quando o arquivo é de fato a tarefa do próprio usuário.

O problema aparece ao usar o schtasks.exe legado (da era Windows XP), que fala com uma interface RPC antiga. Analistas da 0patch depuraram a chamada e confirmaram, via !token, que no momento em que SetSecurityInfo() é invocado o token de impersonation não corresponde ao usuário atacante, mas sim a Local System — ou seja, a validação de que 'o chamador tem permissão de escrita sobre este arquivo' não está sendo feita corretamente sob o contexto certo antes da operação privilegiada de SetSecurityInfo.

O atacante controla o caminho de destino explorando comportamento de migração legado: tarefas criadas via schtasks.exe antigo em %Windir%\tasks são migradas para %Windir%\system32\tasks. Depois de disparar essa migração uma vez (criando o arquivo de tarefa legítimo), o atacante apaga o arquivo resultante e cria em seu lugar um hard link apontando para um arquivo protegido arbitrário do sistema (por exemplo, um driver em system32\drivers). Ao repetir o comando de alteração da tarefa, o serviço Task Scheduler, agindo como SYSTEM, aplica a mudança de DACL/owner sobre o que ele acredita ser o arquivo de tarefa do usuário — mas que na verdade, via hard link, é o arquivo de sistema.

O resultado documentado pela CERT/CC: o arquivo alvo deixa de ser propriedade de TrustedInstaller e passa a ter permissão Full Control para o usuário atacante, que passa a poder sobrescrevê-lo livremente.

Cómo se explota

Pré-requisito real: execução de código como usuário autenticado sem privilégios elevados na máquina — não há vetor remoto nem exige interação de outro usuário (UI:N). O exploit público (chamado 'polarbear', de SandboxEscaper) automatiza a sequência: copia um job para %Windir%\tasks, executa schtasks.exe legado com /change /RU /RP para forçar a migração e criação do arquivo em system32\tasks, apaga esse arquivo, cria um hard link para o arquivo-alvo protegido, e repete o /change para que o Task Scheduler aplique a alteração de permissão/owner sobre o alvo real via o link.

A CERT/CC confirmou funcionamento confiável em Windows 10 (32 e 64 bits) totalmente atualizado, além de Windows Server 2016 e Server 2019, à época do teste (antes do patch). Em Windows 8 a técnica pública só afeta arquivos onde o usuário já teria acesso de escrita, tornando o impacto prático desprezível ali; em Windows 7 os pesquisadores não conseguiram reproduzir. O ganho final é controle irrestrito sobre um arquivo de sistema escolhido — na prática usado para sobrescrever um binário ou driver executado com privilégios de SYSTEM e obter execução de código nesse nível, completando a escalada de privilégio total.

A vulnerabilidade está no catálogo KEV da CISA (adicionada em 2022, com prazo de correção 2022-04-05), confirmando exploração ativa observada, embora a CISA não a associe a campanhas de ransomware conhecidas. Como o PoC ficou público antes do patch oficial, houve uma janela real de exploração 0-day.

Versiones

Afectadas
Microsoft Windows 10 Version 1507; Windows 10 Version 1607; Windows 10 Version 1703; Windows 10 Version 1709; Windows 10 Version 1709 for 32-bit Systems; Windows 10 Version 1803; Windows 10 Version 1809; Windows 10 Version 1903 for 32-bit Systems. A CERT/CC também confirmou exploração funcional em Windows Server 2016 e Windows Server 2019 totalmente atualizados (não listados na tabela oficial de produtos fornecida, mas testados pelos pesquisadores). Windows 8 apresenta a falha subjacente mas com impacto prático negligenciável pela técnica pública conhecida; Windows 7 não foi reproduzido pelos pesquisadores.
Corregidas en
Corrigido pelas atualizações de segurança da Microsoft de junho de 2019 (ciclo 'Patch Tuesday' de 11/06/2019) para as versões e builds de Windows 10 listadas no advisory oficial. Números específicos de KB não constam nas fontes consultadas — verificar a build exata contra o MSRC Update Guide antes de confirmar remediação.

Cómo protegerse

A correção oficial da Microsoft veio nas atualizações cumulativas de junho de 2019 ('Patch Tuesday'), que ajustam a validação de operações de arquivo no Task Scheduler Service. Aplicar essas atualizações (e cumulativas posteriores) nas versões afetadas é a mitigação definitiva; não há números de KB confirmados nas fontes consultadas para citar aqui — confirme a atualização de junho/2019 correspondente à build específica no Update Catalog da Microsoft antes de considerar corrigido.

Como paliativo temporário antes do patch, a 0patch disponibilizou um micropatch de terceiros lançado cerca de 12 dias antes da correção oficial — trata-se de um patch binário aplicado em runtime, não endossado pela Microsoft, com o custo de introduzir uma dependência externa de terceiros no processo core do serviço; avalie esse tipo de solução apenas como mitigação de curtíssimo prazo em ambientes de alto risco.

Controles compensatórios genéricos: restringir contas de usuário padrão em endpoints (reduzir superfície de contas autenticadas com esse nível de acesso), monitorar e restringir a presença/execução de versões legadas de schtasks.exe, e usar EDR/whitelisting de aplicação para bloquear execução de binários não assinados/antigos que reproduzam esse padrão de RPC legado. Não existe mitigação de rede (firewall/WAF) aplicável, pois o vetor é inteiramente local.

Cómo detectar

Sinal mais confiável: uso do schtasks.exe legado (versão antiga, estilo Windows XP, que fala com a interface RPC legada) em uma máquina moderna, algo atípico e raro em operação normal — presença desse binário ou chamadas a essa interface RPC específica é forte indicador. Em nível de sistema de arquivos/ETW, procurar por criação de arquivos em %Windir%\tasks (caminho legado, não usado normalmente em versões modernas) seguida rapidamente por exclusão e recriação como hard link para arquivos fora do diretório de tarefas — especialmente hard links apontando para binários do sistema (drivers, DLLs, executáveis protegidos por TrustedInstaller).

Process Monitor ou ETW podem capturar operações SetSecurityFile originadas de schedsvc.dll (via _SchRpcSetSecurity/SetJobFileSecurityByName) com alterações de DACL/owner em arquivos fora do escopo esperado do usuário chamador. Não há assinatura de rede, pois o ataque é inteiramente local; ambientes sem logging de criação de arquivo/hard link e sem auditoria de chamadas RPC ao Task Scheduler dificilmente terão evidência retroativa confiável.

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 in the way the Task Scheduler Service validates certain file operations. An attacker who successfully exploited the vulnerability could gain elevated privileges on a victim system. To exploit the vulnerability, an attacker would require unprivileged code execution on a victim system. The security update addresses the vulnerability by correctly validating file operations.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:P/RL:O/RC:C
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.