Vulnerabilidades · 4 min read · Sep 29, 2025
Pesquisador do Google descobre vulnerabilidade de escalonamento de privilégios no Windows 8.1

Pesquisador do Google descobre bug de elevação de privilégios no Windows 8.1, versões 32/64 bits.
Um pesquisador do Google chamado Forshaw descobriu um bug de escalonamento de privilégios no Windows 8.1. O bug em ahcache.sys/NtApphelpCacheControl ocorreu após a atualização do Windows 8 para o Windows 8.1 e foi encontrado por Forshaw em setembro de 2014. Ele notificou a lista de discussão de Pesquisa de Segurança do Google sobre o bug em 30 de setembro e, após o prazo de divulgação de 90 dias, a falha e a Prova de Conceito foram tornadas públicas ontem.
A equipe de pesquisadores do Google contatou a Microsoft sobre o bug no mesmo dia em que a falha foi descoberta, mas não há indicações de que alguma ação tenha sido tomada a respeito. Forshaw também afirmou na lista de discussão que testou a PoC apenas no 8.1 e não sabe se o Windows 7 é vulnerável.
A vulnerabilidade é identificada na função ahcache.sys/AhcVerifyAdminContext. A prova de conceito inclui dois arquivos de programa e um conjunto de instruções para executá-la, resultando na execução da calculadora do Windows como Administrador. Forshaw afirma que o bug não está no UAC em si, mas que o UAC é usado em parte para demonstrar o bug.
A Microsoft tem um grande problema em mãos com essa vulnerabilidade, pois libera seus principais patches na segunda terça-feira do mês. Até agora, a Microsoft tem duas opções:
- Corrigi-lo a tempo para a segunda terça-feira de patches.
- Emitir um patch fora de banda (geralmente um mau sinal de 0day).
A próxima terça-feira de patches está prevista para 13.1.2015 e, se liberar um patch antes disso, pode-se supor que se trata de uma vulnerabilidade de dia zero.
Todo o thread é reproduzido abaixo:
Plataforma: Windows 8.1 Update 32/64 bits (Nenhum outro SO testado) No Windows 8.1 update, a chamada de sistema NtApphelpCacheControl (o código está realmente em ahcache.sys) permite que os dados de compatibilidade de aplicativos sejam armazenados em cache para reutilização rápida quando novos processos são criados. Um usuário normal pode consultar o cache, mas não pode adicionar novas entradas em cache, pois a operação é restrita a administradores. Isso é verificado na função AhcVerifyAdminContext. Essa função tem uma vulnerabilidade onde não verifica corretamente o token de personificação do chamador para determinar se o usuário é um administrador. Ela lê o token de personificação do chamador usando PsReferenceImpersonationToken e, em seguida, faz uma comparação entre o SID do usuário no token e o SID do LocalSystem. Não verifica o nível de personificação do token, então é possível obter um token de identidade em sua thread a partir de um processo do sistema local e contornar essa verificação. Para esse propósito, a PoC abusa do serviço BITS e COM para obter o token de personificação, mas provavelmente existem outras maneiras. É apenas uma questão de encontrar uma maneira de explorar a vulnerabilidade. Na PoC, uma entrada de cache é feita para um executável de autoelevação do UAC (digamos ComputerDefaults.exe) e configura o cache para apontar para a entrada de compatibilidade de aplicativo para regsvr32, o que força um shim RedirectExe a recarregar regsvr32.exe. No entanto, qualquer executável poderia ser usado, o truque seria encontrar uma configuração de compatibilidade de aplicativo pré-existente adequada para abusar. Não está claro se o Windows 7 é vulnerável, pois o caminho do código para a atualização tem uma verificação de privilégio TCB sobre ele (embora pareça que, dependendo das flags, isso possa ser contornado). Nenhum esforço foi feito para verificar isso no Windows 7. NOTA: Este não é um bug no UAC, está apenas usando a autoelevação do UAC para fins de demonstração. A PoC foi testada no Windows 8.1 update, tanto nas versões de 32 bits quanto de 64 bits. Eu recomendaria executar em 32 bits apenas para ter certeza. Para verificar, execute os seguintes passos: 1) Coloque o AppCompatCache.exe e Testdll.dll no disco
- Certifique-se de que o UAC está habilitado, o usuário atual é um administrador de token dividido e a configuração do UAC é a padrão (sem prompt para executáveis específicos).
- Execute o AppCompatCache a partir do prompt de comando com a linha de comando “AppCompatCache.exe c:\windows\system32\ComputerDefaults.exe testdll.dll”.
- Se bem-sucedido, a calculadora deve aparecer executando como um administrador. Se não funcionar na primeira vez (e você obtiver o programa ComputerDefaults), execute novamente a exploração a partir do 3, parece haver um problema de cache/tempo às vezes na primeira execução. Este bug está sujeito a um prazo de divulgação de 90 dias. Se 90 dias se passarem sem um patch amplamente disponível, o relatório do bug se tornará automaticamente visível ao público.
Outro usuário afirmou que o Windows 10 não é vulnerável a essa vulnerabilidade, enquanto outro questionou a política do Google de tornar um bug desse tipo público sem a aprovação da Microsoft. O thread e a PoC podem ser acessados aqui.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.