
Exploit de prova de conceito para CVE-2025-63946, uma escalada de privilégio local no Tencent PC Manager via ataques de symlink em diretórios temporários, alcançando exclusão arbitrária de arquivos como SYSTEM.
versão: PCManager Versão inferior ou igual a 17.10.28554.205
Resumo: Descobri uma vulnerabilidade no Tencent PC Manager onde arquivos e diretórios em C:\Windows\Temp são tratados de forma insegura. Um atacante pode aproveitar ataques de link simbólico (symlink) para coagir um processo com privilégio SYSTEM a excluir arquivos arbitrários, resultando em escalonamento de privilégio local. Durante o processo de verificação, o QQPCRtp.exe, executando como NT AUTHORITY\SYSTEM, move os arquivos escaneados para este diretório temporário e os exclui após a conclusão da verificação.
Foi observado que o processo "QQPCRTP.exee" fará o seguinte com privilégio SYSTEM ao iniciar a verificação do disco:
QQPCRTP.exe cria um subdiretório nomeado com um uuid (ex., {*}) dentro de pcmgr_scan_tmp.
Ao final, QQPCRTP.exe usa privilégios SYSTEM para excluir o subdiretório {*} dentro de pcmgr_scan_tmp.
Como o diretório "C:\Windows\Temp_pcmgr_scan_tmp_" pode ser criado pelo usuário atual e receber permissão "Modificar" para o usuário atual, o usuário atual pode modificar e ler todo o diretório. Com essa configuração, um usuário sem privilégios é capaz de realizar exclusão arbitrária de arquivos criando um link simbólico para um local privilegiado (ex., C:\Windows\System32). Além disso, um usuário malicioso poderia obter escalonamento de privilégio local a partir da exclusão arbitrária de arquivo/pasta.
Eu também não sei exatamente quando o Tencent PC Manager criará a pasta pcmgr_scan_tmp, então precisamos ganhar a condição de corrida para criar a pasta pcmgr_scan_tmp no Windows\Temp. Caso contrário, você pode executar este exploit até reinstalar o PC Manager.
Para realizar LPE por exclusão arbitrária de arquivo/pasta, o usuário pode seguir os seguintes passos:
Usuário cria pasta "C:\Windows\Temp\TencentDownload"
Usuário define OpLock na pasta "C:\Windows\Temp_pcmgr_scan_tmp_{}" assim que observarmos que qualquer pasta {} foi criada
O processo "QQPCRTP.exe" tentará remover a pasta "C:\Windows\Temp_pcmgr_scan_tmp_{*}" com privilégio SYSTEM.
O processo "QQPCRTP.exe" será pausado devido ao OpLock
Quando o OpLock for acionado, o usuário move o arquivo "C:\Windows\Temp_pcmgr_scan_tmp_{*}" para outro lugar para esvaziar a pasta
Usuário cria junção "C:\Windows\Temp_pcmgr_scan_tmp_{*}" para "\RPC Control"
Usuário cria link simbólico "GLOBAL\GLOBALROOT\RPC Control{*}" para a pasta/arquivo de destino (ex., C:\Windows\System32\secrets)
Usuário libera OpLock
Usuário exclui o link simbólico
O arquivo/pasta de destino (ex., C:\Windows\System32\secrets) será excluído
Vídeo PoC :https://drive.google.com/file/d/1-8GngjK97cnfqHw0cB_GncUxzLLR2wpF/view?usp=sharing