← volver
CVE-2016-0151highbajo ataqueransomwareCWE-269

CVE-2016-0151

83Vexday 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 63%
de la publicación al arma15 días
Publicada en NVD12 abr
1ª PoC+15d
CISA KEV+2176d
probabilidad de explotación
63%top 1% 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 CSRSS (Client-Server Run-time Subsystem) do Windows 8.1, Windows Server 2012/2012 R2, Windows RT 8.1 e Windows 10 (Gold e 1511), causada por gerenciamento incorreto de tokens de processo. Um usuário já autenticado localmente pode rodar uma aplicação especialmente construída para obter um processo com token elevado (efetivamente rodando na Sessão 0), abrindo caminho para escalar a administrador. Importa porque está no catálogo KEV da CISA e tem PoC pública, mas o pré-requisito de logon local já concedido limita bastante o cenário de risco a máquinas multiusuário, servidores de terminal ou pós-comprometimento inicial.

Detalle técnico

O componente CSRSS (basesrv.dll) expõe o método RPC BaseSrvCheckVDM, que verifica se a Virtual DOS Machine (VDM) está instalada e habilitada. No Windows 8 e versões posteriores (builds de 32 bits) a VDM vem desabilitada por padrão; quando isso ocorre, o CSRSS tenta 'ajudar' criando um processo na área de trabalho para pedir a instalação da VDM. O token usado para criar esse novo processo vem do token de impersonation do chamador — não do primário. Um atacante local pode impersonar o token anônimo (Anonymous Logon) antes de chamar CsrClientCallServer, fazendo o CSRSS usar esse token anônimo como token primário do novo processo. Como o token anônimo tem Session ID 0, o processo resultante é criado na Sessão 0, área normalmente reservada a serviços do sistema (CWE-264, gerenciamento incorreto de privilégios).

Cómo se explota

A cadeia identificada pelo Google Project Zero (issue 692) explora BaseSrvLaunchProcess: o CSRSS impersona o cliente, duplica o token anônimo como token primário, depois reverte e impersona o token real do processo chamador (via BasepImpersonateClientProcess) apenas para a chamada de NtCreateUserProcess. Isso quebra a expectativa de que o token anônimo restringiria o acesso a arquivos: o processo final acaba rodando com contexto de segurança do usuário atual, mas na Sessão 0. Combinando isso com abuso de CreateProcessWithLogonW (flag LOGON_NETCREDENTIALS_ONLY, informando o PID do processo anônimo como pai), o atacante consegue criar um processo arbitrário com o token do usuário corrente executando na Sessão 0 — sessão isolada desde o Vista, onde é possível criar objetos nomeados em \BaseNamedObjects sem o privilégio SeCreateGlobalPrivilege e potencialmente interferir com serviços que assumem confiança baseada na Sessão 0.

Versiones

Afectadas
Windows 8.1 (32 e 64 bits); Windows Server 2012 e Windows Server 2012 R2 (incluindo Server Core); Windows RT 8.1; Windows 10 (edição original/Gold, 32 e 64 bits) e Windows 10 versão 1511 (32 e 64 bits). A Microsoft também cita Windows Server 2016 Technical Preview 4 e 5 como afetados, recomendando aplicação via Windows Update.
Corregidas en
KB3146723 para Windows 8.1, Windows Server 2012, Windows Server 2012 R2 e Windows RT 8.1; KB3147461 para Windows 10 (Gold); KB3147458 para Windows 10 versão 1511. Todas distribuídas via MS16-048, publicado em 12 de abril de 2016.

Cómo protegerse

A correção definitiva é aplicar o MS16-048 (KB3148528), que ajusta como o Windows gerencia tokens de processo em memória. Os pacotes específicos são KB3146723 para Windows 8.1, Windows Server 2012, Windows Server 2012 R2 e Windows RT 8.1, e as atualizações cumulativas KB3147461 (Windows 10 RTM) e KB3147458 (Windows 10 versão 1511) para as edições correspondentes de 32 e 64 bits, incluindo instalações Server Core. A própria Microsoft declara não ter identificado fatores mitigantes nem workarounds para esta vulnerabilidade — não há flag de registro ou configuração alternativa documentada que neutralize o problema sem o patch.

Cómo detectar

Não há assinatura de rede a procurar, já que a exploração é inteiramente local: o vetor é uma chamada RPC interna ao CSRSS (BaseSrvCheckVDM) seguida de manipulação de tokens de impersonation. Em telemetria de endpoint, sinais possíveis incluem criação inesperada de processos filhos do csrss.exe fora do padrão normal, processos rodando com logon 'Anonymous Logon' na Sessão 0, ou aparecimento anômalo de processos como notepad.exe/painel de controle suspensos criados por um usuário comum imediatamente após uma falha reportada de instalação de VDM. Nenhuma das fontes consultadas (boletim da Microsoft, PoC, CISA) documenta indicadores oficiais de detecção ou IOCs de campanhas reais que exploraram essa CVE.

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.
The Client-Server Run-time Subsystem (CSRSS) in Microsoft Windows 8.1, Windows Server 2012 Gold and R2, Windows RT 8.1, and Windows 10 Gold and 1511 mismanages process tokens, which allows local users to gain privileges via a crafted application, aka "Windows CSRSS Security Feature Bypass Vulnerability."
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Productos afectados
n/a · n/a
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.