Pesquisadores de cibersegurança divulgaram uma falha de segurança de alta gravidade, agora corrigida, no Cursor, um popular editor de código de inteligência artificial (AI) que poderia resultar em execução remota de código.
A vulnerabilidade, catalogada como CVE-2025-54135 (pontuação CVSS: 8.6), foi corrigida na versão 1.3, lançada em 29 de julho de 2025.
Ela foi apelidada de CurXecute pelo Aim Labs, que anteriormente divulgou o EchoLeak.
"O Cursor opera com privilégios de desenvolvedor e, quando emparelhado com um servidor MCP que busca dados externos não confiáveis, esses dados podem redirecionar o fluxo de controle do agente e explorar esses privilégios", disse a equipe da Aim Labs em um relatório compartilhado.
"Alimentando dados envenenados ao agente via MCP, um atacante pode obter execução completa de código remoto sob os privilégios do usuário, e alcançar uma série de coisas, incluindo oportunidades para ransomware, roubo de dados, manipulação de AI e alucinações, etc."
Em outras palavras, a execução remota de código é acionada por uma injeção de prompt hospedada externamente que reescreve silenciosamente o arquivo "~/.cursor/mcp.json" e executa comandos controlados pelo atacante.
A vulnerabilidade é semelhante à EchoLeak, em que as ferramentas, que são expostas por servidores do Protocolo de Controle de Modelo (MCP) para uso por modelos de AI e facilitam a interação com sistemas externos, como consultar bancos de dados ou invocar APIs, poderiam buscar dados não confiáveis que podem envenenar o comportamento esperado do agente.
Especificamente, a Aim Security descobriu que o arquivo mcp.json usado para configurar servidores MCP customizados no Cursor pode desencadear a execução de qualquer nova entrada (por exemplo, adicionar um servidor MCP do Slack) sem exigir qualquer confirmação.
Este modo automático é particularmente perigoso porque pode levar à execução automática de um payload malicioso injetada pelo atacante via uma mensagem do Slack.
A sequência de ataque procede da seguinte forma:
O usuário adiciona o servidor MCP do Slack via UI do Cursor
O atacante posta uma mensagem em um canal público do Slack com o payload de injeção de comando
A vítima abre um novo chat e pede ao agente do Cursor para usar o recém-configurado servidor MCP do Slack para resumir suas mensagens em um prompt: "Use as ferramentas do Slack para resumir minhas mensagens"
O agente encontra uma mensagem especialmente elaborada destinada a injetar comandos maliciosos em seu contexto
"A causa central da falha é que novas entradas no arquivo MCP JSON global estão iniciando automaticamente", disse a Aim Security.
"Mesmo que a edição seja rejeitada, a execução do código já aconteceu."
Todo o ataque é notável por sua simplicidade.
Mas também destaca como ferramentas assistidas por AI podem abrir novas superfícies de ataque ao processar conteúdo externo, neste caso, qualquer servidor MCP de terceiros.
"À medida que os agentes de AI continuam conectando mundos externos, internos e interativos, os modelos de segurança devem supor que o contexto externo pode afetar o tempo de execução do agente - e monitorar cada salto", acrescentou a empresa.
A versão 1.3 do Cursor também aborda outra questão com o modo automático que pode facilmente contornar as proteções baseadas em lista de negação da plataforma usando métodos como codificação em Base64, scripts de shell e encapsulamento de comandos de shell dentro de aspas (por exemplo, "e"cho bypass) para executar comandos inseguros.
Seguindo a divulgação responsável pela equipe da BackSlash Research, o Cursor tomou a medida de descontinuar completamente a funcionalidade de lista de negação para auto-execução em favor de uma lista de permissões.
"Não espere que as soluções de segurança integradas fornecidas pelas plataformas de codificação sejam abrangentes ou infalíveis", disseram os pesquisadores Mustafa Naamneh e Micah Gold.
A responsabilidade é das organizações usuárias finais garantir que os sistemas agentes estejam equipados com proteções adequadas.
A divulgação vem enquanto a HiddenLayer também descobriu que a abordagem ineficaz de lista de negação do Cursor pode ser armada ao embutir instruções maliciosas ocultas em um arquivo README.md do GitHub, permitindo a um atacante roubar chaves de API, credenciais SSH e até executar comandos do sistema bloqueados.
"Quando a vítima visualizou o projeto no GitHub, a injeção de prompt não era visível, e eles pediram ao Cursor para fazer o git clone do projeto e ajudá-los a configurá-lo, uma ocorrência comum para um sistema agente baseado em IDE", observaram os pesquisadores Kasimir Schulz, Kenneth Yeung, e Tom Bonner.
Entretanto, após clonar o projeto e revisar o readme para ver as instruções de configuração do projeto, a injeção de prompt assumiu o modelo de AI e forçou-o a usar a ferramenta grep para encontrar quaisquer chaves no espaço de trabalho do usuário antes de exfiltrar as chaves com curl.
A HiddenLayer disse que também encontrou fraquezas adicionais que poderiam ser abusadas para vazar o prompt do sistema do Cursor substituindo a URL base fornecida para solicitações de API do OpenAI por um modelo proxy, assim como exfiltrar chaves SSH privadas do usuário aproveitando duas ferramentas benignas, read_file e create_diagram, em um ataque de combinação de ferramentas.
Isso essencialmente envolve inserir um comando de injeção de prompt dentro de um arquivo README.md do GitHub que é analisado pelo Cursor quando o usuário vítima pede ao editor de código para resumir o arquivo, resultando na execução do comando.
A instrução oculta, por sua vez, utiliza a ferramenta read_file para ler chaves SSH privadas pertencentes ao usuário e, em seguida, utiliza a ferramenta create_diagram para exfiltrar as chaves para um URL webhook.site controlado pelo atacante.
Todas as deficiências identificadas foram remediadas pelo Cursor na versão 1.3.
Notícias de várias vulnerabilidades no Cursor chegam enquanto a Tracebit concebeu um ataque visando o Gemini CLI do Google, uma ferramenta de linha de comando de código aberto otimizada para tarefas de codificação, que explorou uma configuração padrão da ferramenta para exfiltrar dados sensíveis para um servidor controlado pelo atacante usando curl.
Como observado no caso do Cursor, o ataque requer que a vítima (1) instrua o Gemini CLI a interagir com uma base de código do GitHub criada pelo atacante contendo uma injeção de prompt indireta no arquivo de contexto GEMINI.md e (2) adicione um comando benigno a uma lista de permissões (por exemplo, grep).
"Injeção de prompt visando esses elementos, juntamente com problemas significativos de validação e exibição dentro do Gemini CLI, poderia causar execução arbitrária de código indetectável", disse o fundador e CTO da Tracebit, Sam Cox.
Para mitigar o risco representado pelo ataque, os usuários do Gemini CLI são aconselhados a atualizar suas instalações para a versão 0.1.14, lançada em 25 de julho de 2025.
Publicidade
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...