← voltar
CVE-2016-0151highsob ataqueransomwareCWE-269

CVE-2016-0151

83Vexday 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 63%
da publicação à arma15 dias
Publicada no NVD12 de abr.
1ª PoC+15d
CISA KEV+2176d
probabilidade de exploração
63%top 1% das CVEs
exploração observada
simCISA + VulnCheck
2 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-04-18

Apply updates per vendor instructions.

Resumo

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.

Detalhamento 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).

Como é explorada

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.

Versões

Afetadas
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.
Corrigidas em
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.

Como se proteger

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.

Como 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.

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