Falhas críticas no Cursor podem permitir que prompt injection escape do sandbox e execute comandos
2 de Julho de 2026

Duas falhas no Cursor, editor de código com IA, permitem que um único comando aparentemente inofensivo escape da sandbox de segurança do editor e execute qualquer comando no computador do desenvolvedor, sem que seja preciso clicar em nada ou ignorar uma caixa de aprovação. A Cato AI Labs identificou o par de falhas e o batizou de DuneSlide. Elas são acompanhadas como CVE-2026-50548 e CVE-2026-50549 , ambas com nota 9,8 de 10, ou 9,3 na escala mais recente CVSS 4.0. A correção já foi liberada: os dois bugs foram resolvidos no Cursor 3.0, lançado em 2 de abril, e todas as versões anteriores são afetadas. Segundo a Cato, mais da metade das empresas da Fortune 500 usa a ferramenta, o que reforça a urgência de atualizar.

A partir da linha 2.x, o Cursor passou a executar por padrão os comandos de terminal enviados por seu agente de IA dentro de uma sandbox, um ambiente isolado que limita o que esses comandos podem acessar para que uma instrução fora do lugar não comprometa a máquina. O DuneSlide explora justamente a saída dessa caixa, e a porta de entrada é a injeção de prompt. Nesse tipo de ataque, o agressor não digita nada diretamente no Cursor, mas insere instruções dentro de algo que o agente lê em seu nome, como um serviço conectado via Model Context Protocol ou uma página retornada por uma busca na web. O usuário faz uma pergunta normal, as instruções ocultas vêm junto e, como não há clique nem aprovação, o ataque é classificado como zero-click.

As duas falhas partem da mesma lógica: fazer o agente escrever um arquivo que não deveria poder alterar e, a partir disso, desativar a sandbox. A CVE-2026-50548 abusa de uma configuração. A sandbox permite gravações no diretório de trabalho de um comando, e esse diretório é um parâmetro opcional, working_directory, na ferramenta run_terminal_cmd do Cursor. Quando o agente define esse parâmetro em um caminho fora do padrão, o Cursor adiciona esse caminho à lista de gravação permitida sem questionar, e as instruções injetadas fazem o agente apontar esse caminho para um arquivo do sistema em vez do projeto. Se o helper da sandbox for sobrescrito, no macOS localizado em /Applications/Cursor.app/Contents/Resources/app/resources/helpers/cursorsandbox, os comandos seguintes passam a rodar sem sandbox alguma, e arquivos de inicialização como ~/.zshrc também podem servir de alvo.

Já a CVE-2026-50549 abusa de uma verificação de segurança. Antes de gravar, o Cursor resolve links simbólicos para confirmar se o destino real está dentro do projeto, mas o problema está no caminho alternativo: quando essa verificação falha, seja porque o alvo não existe ou porque o atacante remove o acesso de leitura de uma pasta no caminho, o Cursor desiste e passa a confiar no caminho do link simbólico, que aponta para dentro do projeto. O invasor cria então um link simbólico apontando para fora do projeto, força a falha da checagem e o Cursor grava diretamente por ele no mesmo helper da sandbox. O escape final é o mesmo, apenas a porta de saída muda.
Depois que a sandbox é neutralizada, o próximo comando passa a rodar como se fosse o próprio usuário, o que significa controle da máquina do desenvolvedor e também de quaisquer ambientes na nuvem ou em SaaS em que o editor esteja autenticado, tudo a partir de um único prompt aparentemente inofensivo. Não há indícios de uso dessas falhas em ataques reais: a Cato apresenta a descoberta como pesquisa, não como campanha ativa, e os registros públicos de vulnerabilidade não mostram exploração conhecida até a publicação.
A Cato informou os dois problemas em 19 de fevereiro, e segundo a empresa, quatro dias depois o Cursor rejeitou os relatos, alegando que seu modelo de ameaça não cobria o uso indevido de servidores MCP, nem mesmo os oficiais, como o workspace da Linear. A Cato insistiu em 26 de fevereiro, o Cursor reabriu os relatos, fez a triagem e lançou as duas correções na versão 3.0. Os identificadores CVE foram atribuídos em 5 de junho, e o próprio Cursor publicou um comunicado sobre o bug de symlink, com o registro já disponível no NVD.

O DuneSlide é mais um episódio de uma sequência de bugs no Cursor que começam com um prompt contaminado e terminam em execução de código, cada um derrotando uma barreira diferente. O CurXecute, CVE-2025-54135, de agosto de 2025, veio da mesma equipe, então chamada Aim Security, e usava uma mensagem plantada no Slack para reescrever a configuração ~/.cursor/mcp.json e executar comandos mesmo depois de o usuário rejeitar a edição, com correção saindo na versão 1.3. O MCPoison, CVE-2025-54136 , descoberto pela Check Point Research, permitia que um atacante fizesse uma configuração MCP ser aprovada uma vez e depois a substituísse silenciosamente por comandos maliciosos, sem novo prompt. Já a CVE-2026-26268 , de fevereiro de 2026, escondia um Git hook armado em um repositório, disparado no momento em que o agente executava um comando Git, com correção chegando na versão 2.5.

A sandbox da linha 2.x foi justamente a resposta do Cursor a essa onda anterior de falhas, e o DuneSlide mostra como escapar da própria resposta. A Cato afirma que está divulgando falhas semelhantes em outros agentes de código e defende que o problema é estrutural, não apenas uma sequência de casos isolados. Fica em aberto a pergunta para quem desenvolve agentes que leem conteúdo aberto na web: tratar toda entrada como hostil se tornará o padrão, ou tudo continuará sendo corrigido caso a caso.

Publicidade

Proteja sua empresa contra hackers através de um Pentest

Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...