Um ponto a mais no nome do arquivo faz o Copilot do VS executar comandos

No pacote mensal de correções de 13 de outubro, a Microsoft corrigiu uma vulnerabilidade de execução remota de código ligada ao Copilot, identificada como CVE-2026-103572, que afeta o Visual Studio (incluindo 2026, 2022 e versões anteriores) e o SQL Server Management Studio (SSMS). Quem a descobriu foi o pesquisador de segurança Johann Rehberger, que publicou os detalhes técnicos no mesmo dia em seu blog, o Embrace The Red.

Os dois produtos compartilham uma biblioteca central, a Microsoft.VisualStudio.Copilot.Core.dll. A falha está justamente ali, e por isso um único problema atinge os dois produtos ao mesmo tempo.

Como um ponto burla a verificação

No IDE, o Copilot pode gravar arquivos em nome do usuário, mas configurações como o .mcp.json e os arquivos de configuração do Visual Studio constam como objetos protegidos, que ele não deveria tocar. O problema está no método de verificação: a lógica de validação compara a string original.

A camada Win32 do Windows tem uma regra antiga: pontos no fim do nome de um arquivo são removidos automaticamente. Rehberger cita a própria documentação da Microsoft: «File and Folder names that end with the ASCII Period (0x2E) character will also be saved without this character.» Assim, na hora da checagem, settings.json. não é a mesma string que settings.json e a verificação libera o acesso; na gravação real, o ponto final é descartado e o que se escreve é justamente o arquivo protegido.

A cadeia de ataque é, em linhas gerais, esta: o invasor primeiro influencia o Copilot por meio de injeção indireta de prompt, por exemplo fazendo um servidor MCP devolver dados com instruções embutidas; o Copilot as segue e grava o conteúdo desejado pelo invasor em configurações como o .mcp.json; ao ler a configuração, o IDE dispara o comando malicioso. No Visual Studio, alterar a configuração de caminho de certas ferramentas também pode levar à execução de comandos.

Rehberger relatou ainda alguns outros problemas: com ..\ era possível, por travessia de caminho, ler arquivos restritos; alguns arquivos vazam identificadores de instalação; e o modelo MAI-Code-1-Flash tem resistência fraca à injeção indireta de prompt. Segundo a análise dele, a correção da Microsoft foi adicionar uma chamada a GetFullPath, que normaliza o caminho antes da comparação, removendo o ponto final e resolvendo o ...

Pela segunda vez, o mesmo tipo de falha

Não é a primeira vez que Rehberger parte de arquivos de configuração. Em agosto de 2025, ele divulgou uma vulnerabilidade de execução remota de código no GitHub Copilot dentro do VS Code (CVE-2025-53773): a injeção de prompt levava o Copilot a reescrever o settings.json do workspace e ativar a chave de execução automática de ferramentas sem confirmação, depois do que era possível rodar comandos diretamente. Aquela também foi corrigida no Patch Tuesday da Microsoft.

Vistos em conjunto, os dois casos seguem o mesmo roteiro: o agente pode gravar arquivos, os arquivos de configuração definem o que o agente e o IDE podem fazer e, bastando que o agente consiga escrever na configuração, ele mesmo amplia as próprias permissões. A lição de 2025 foi criar uma lista de proteção para os arquivos de configuração, e foi essa camada que agora foi contornada. A conclusão de Rehberger no texto é:

«Security controls around agents must hold even when the agent itself is compromised or misaligned.»

Os controles de segurança em torno dos agentes precisam se manter mesmo quando o próprio agente é comprometido ou se comporta de forma desalinhada.

O que os usuários devem fazer

Na linha do tempo: Rehberger enviou o relatório em 4 de agosto, complementou entre 4 e 7 de agosto o impacto sobre o Visual Studio e os detalhes de exploração, e voltou a cobrar em 30 de agosto; a Microsoft confirmou em 16 de setembro, informou em 11 de outubro que a recompensa seria zero e lançou a correção em 13 de outubro. Os materiais públicos não explicam por que a Microsoft não pagou recompensa.

Para as equipes que usam Visual Studio e SSMS, só há uma providência: instalar o quanto antes a atualização deste mês. Ambientes em que o Copilot se conecta a servidores MCP de terceiros correm mais risco, porque a porta de entrada da injeção de prompt são justamente esses dados externos.

Fontes: blog técnico Embrace The Red, CocoLoop, Microsoft Security Update Guide; o número da CVE, a pontuação CVSS e as datas de divulgação seguem o blog do pesquisador e o comunicado da Microsoft.