Uma falha grave no Amazon Q Developer permitiu que um repositório malicioso executasse comandos e roubasse as credenciais de nuvem de um desenvolvedor. O caminho era curto: o desenvolvedor abria o repositório, confiava no workspace e o Amazon Q fazia o restante. A Amazon já corrigiu o problema.
Rastreado como
CVE-2026-12957
, com CVSS 8,5, o bug estava na forma como o assistente de programação com IA da Amazon lidava com servidores Model Context Protocol (MCP). A Wiz Research, responsável por encontrar e reportar a falha, mostrou que bastava um único arquivo de configuração incluído no repositório para transformar um simples git clone em comprometimento da nuvem.
O Amazon Q lia um arquivo de configuração MCP, .amazonq/mcp.json, a partir do workspace aberto e iniciava os servidores definidos ali. Servidores MCP são processos locais que um assistente de IA pode acionar para acessar bancos de dados, APIs ou ferramentas de compilação, portanto iniciá-los equivale a executar comandos na máquina. Esses processos herdavam o ambiente completo do desenvolvedor, o que normalmente inclui chaves da AWS, tokens da CLI de nuvem, segredos de API e sockets do agente SSH. Juntando os dois fatores, um arquivo presente em um repositório clonado podia executar código arbitrário com a sessão ativa de nuvem do desenvolvedor, sem senha e sem segunda autenticação.
No proof of concept, a Wiz fez o arquivo executar aws sts get-caller-identity e enviar a saída para um servidor do atacante, capturando a sessão ativa da AWS. O passo seguinte dependia das permissões dessa conta, podendo incluir a criação de um backdoor em um usuário IAM para persistência, o acesso a serviços internos ou o avanço em direção à produção.
A AWS e a Wiz descreveram de forma diferente a etapa de consentimento. O advisory da Amazon diz que o usuário precisa confiar no workspace quando solicitado, e o CVSS classifica a interação do usuário como passiva. Já a Wiz informou que, antes da correção, não havia uma etapa separada de consentimento para os próprios servidores MCP. O patch fechou essa brecha, e agora o Amazon Q sinaliza um servidor MCP não confiável e permite que o desenvolvedor rejeite o comando antes da execução.
A falha está no Language Servers for AWS, o runtime que sustenta o Amazon Q no VS Code, JetBrains, Eclipse e Visual Studio. Os quatro plugins incluem esse componente, portanto todos ficaram expostos nas versões que embarcavam uma cópia mais antiga.
A recomendação é simples: atualizar. O
CVE-2026-12957
foi corrigido no Language Servers for AWS 1.65.0, mas o boletim da AWS orienta os clientes a migrarem para a versão 1.69.0, que também corrige um segundo problema, o
CVE-2026-12958
, uma checagem ausente de symlink que poderia permitir gravações arbitrárias de arquivos fora da fronteira de confiança do workspace. As versões mínimas dos plugins corrigidos são VS Code 2.20 ou superior, JetBrains 4.3 ou superior, Eclipse 2.7.4 ou superior e Visual Studio toolkit 1.94.0.0 ou superior. O language server se atualiza automaticamente, a menos que a rede bloqueie o processo, e recarregar a IDE puxa a versão mais recente.
Não há registro de exploração pública conhecida, e a entrada do CISA ADP para o
CVE-2026-12957
o classifica como inexistente. A Wiz descobriu a falha em pesquisa e a divulgou em coordenação com a Amazon, relatando o problema em 20 de abril e vendo a correção em 12 de maio, antes da publicação pública em 26 de junho.
O Amazon Q não foi o primeiro assistente de programação a esbarrar em problemas de confiança com MCP. As falhas não são idênticas, mas seguem a mesma lógica: a configuração do projeto vira comportamento executável, e as verificações de confiança nessa transição continuam falhando. Claude Code, identificado como
CVE-2025-59536
, e Cursor, identificado como
CVE-2025-54136
, também tinham configuração MCP no nível do projeto que levava à execução de comandos. O Windsurf,
CVE-2026-30615
, chegou ao mesmo resultado por outro caminho, com conteúdo controlado pelo atacante reescrevendo a configuração local de MCP para registrar um servidor malicioso. A conveniência de permitir que uma pasta de projeto configure um agente de IA também amplia a superfície de ataque. Configurações trazidas por repositórios são entrada não confiável, e transformá-las em um processo em execução deveria exigir um consentimento explícito.
Publicidade
Nossa audiência é formada por analistas, pentesters, decisores e entusiastas que consomem nossas notícias todo dia pelo Site, Newsletter e Instagram. Fale com quem realmente importa para o seu negócio. Anuncie aqui. Saiba mais...