
public disclosure
Aplicação afetada: MindManager23_setup.exe
Plataforma: Windows
Problema: Elevação local de privilégios via Modo de Reparo do instalador MSI (condição de corrida por sequestro de EXE)
Descoberto e reportado por: Pawel Karwowski e Julian Horoszkiewicz (Eviden Red Team)
Mitigação proposta: https://learn.microsoft.com/en-us/windows/win32/msi/disablemsi
Justificativa para divulgação pública: Manter isso em sigilo indefinidamente, a longo prazo, beneficia os agentes de ameaças (o problema é trivial de encontrar), enquanto mantém usuários e administradores no escuro, sem conhecimento do risco.
Qual é a posição do fornecedor? De acordo com o fornecedor, não é responsabilidade deles, pois a vulnerabilidade está em um componente de terceiros (CVE-2021-41526). Isso não significa, porém, que o software deles não seja vulnerável. Reportamos originalmente esse problema ao fornecedor em 22.08.2023. Desde então, não conseguimos convencê-los a lançar uma correção, mesmo envolvendo o US CERT nos esforços de coordenação. Após um longo período de troca de mensagens, concordamos com o CERT que, nessa situação, a divulgação pública é o curso de ação adequado.
Qual é a vulnerabilidade?
Em sistemas com o MindManager23 instalado, é possível que usuários comuns acionem o instalador no modo "reparo", executando o seguinte comando:
msiexec.exe /fa PATH_TO_INSTALLER_FILE.msi
Isso aciona o serviço msiexec, que executa o processo de reparo, realizando múltiplas ações e, entre outras, cria arquivos dentro do diretório C:\Users\pk\AppData\Local\Temp, cujos nomes de arquivo são gerados dinamicamente, no seguinte padrão: "wac<quatro letras ou números aleatórios>.tmp", por exemplo, wac98DF.tmp. O processo então usa o arquivo wac****.tmp gerado (executável), executando como NT AUTHORITY/SYSTEM, para gravar e carregar uma imagem de si mesmo.
Como o diretório C:\Users\pk\AppData\Local\ pertence ao usuário comum, o diretório C:\Users\pk\AppData\Local\Temp\ herda as permissões, tornando possível que o usuário comum interfira no conteúdo do diretório, por exemplo, sobrescrevendo os arquivos DLL\EXE gerados dinamicamente.
A elevação de privilégios no instalador do Mind Manager é causada pelo uso de um componente conhecido por ser vulnerável - o Flexera InstallShield, afetado pela CVE-2021-41526. O Mind Manager deveria usar uma versão atualizada do Flexera InstallShield - ou reempacotar o MSI para que ele não suporte o "modo de reparo", ou exigir privilégios administrativos para executá-lo.
Qual é o processo de exploração? A exploração é feita com o uso de um script do PowerShell que executa o arquivo .MSI, verifica a presença e a criação da nossa DLL\EXE legítima de interesse e copia repetidamente a DLL\EXE de Prova de Conceito para o diretório Appdata\Local\Temp, sobrescrevendo efetivamente o arquivo DLL\EXE legítimo. Após ser executada, a DLL\EXE de PoC cria um arquivo poc.txt em C:\Users\Public, juntamente com a linha de comando que a chamou e a saída do whoami.