Este repositório contém materiais relacionados ao CVE-2024-30052. Mais detalhes sobre a vulnerabilidade podem ser encontrados no meu post do blog.
estrutura
- A pasta builder contém arquivos de origem de um programa que cria um arquivo de despejo (dump) que explora a vulnerabilidade.
- A pasta poc contém três arquivos de prova de conceito que abrem o calc.exe quando abertos - chm, hta e py.
- A pasta manifest contém um manifesto para a versão 17.8.10 do VS, para facilitar o download dessa versão específica localmente durante os testes.
executando uma poc
- Abra o CVE-2024-30052-builder.sln no Visual Studio 2022 e compile-o.
- Execute
CVE-2024-30052-builder.exe /path/to/repo/poc/poc.chm (ou um de poc.hta, poc.py). Isso criará um arquivo de despejo no mesmo diretório.
- Abra o arquivo de despejo no VS 2022 e clique em 'Debug with Managed' ou 'Debug With Mixed'.
- Uma caixa de mensagem deve aparecer informando que o arquivo será aberto em um editor externo. Pressione OK ou X.
- O calc.exe deve ser executado.
Nota:
- Você precisa ter o VS 2022 Community instalado para que o executável do builder funcione sem configuração adicional. Alternativamente, você pode substituir o caminho para o csc.exe na função CompileSource.
- Apenas versões do VS 2022 anteriores à 17.8.11 são vulneráveis. Você pode instalar a versão 17.8.10 executando:
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" install --channelId VisualStudio.17.Release --productId Microsoft.VisualStudio.Product.Community --channelURI "https://raw.githubusercontent.com/ynwarcs/CVE-2024-30052/refs/heads/main/manifest/ChannelManifest_17.8.10.json?token=GHSAT0AAAAAACWHD36ESW2XDN5U2AOC22OYZYAHHJA"
- Para que o poc .py funcione, o python deve estar instalado no sistema. Os outros dois pocs devem funcionar normalmente.
demonstração
cve-2024-30052.webm