AWS publicou o boletim de segurança 2026-101 às 13:00 PDT de 4 de setembro — 20:00 UTC, cobrindo CVE-2026-85787 em awslabs.postgres-mcp-server. O texto: "Uma lista incompleta de entradas proibidas no componente de validação SQL … pode permitir que um ator não autenticado modifique dados além do escopo somente leitura ao inserir SQL elaborado no conteúdo que é enviado quando um usuário autenticado interage com o servidor MCP."
O que está realmente quebrado
Não o banco de dados, e não o modelo. O diferencial do servidor é converter linguagem natural em SQL contra uma instância Aurora, com gravações bloqueadas por uma flag opcional --allow_write_query. O modo somente leitura foi implementado como uma lista de strings proibidas, e a lista era incompleta. O GitHub classifica isso como CWE-184. O vetor CVSS v4.0 é VC:N/VI:H — confidencialidade intocada, integridade alta — com pontuação de 7.1, e CVSS v3.1 em 6.5.
Quem é o atacante
"Ator não autenticado" soa como alguém acessando um endpoint exposto. O vetor diz outra coisa: UI:P no v4.0, UI:R no v3.1. O atacante é não autenticado porque tudo o que faz é plantar texto em algum lugar que o modelo lerá; é o próprio agente do usuário autenticado que envia o SQL resultante. Isso é injeção indireta de prompt com uma escrita no banco como carga útil, registrada como CVE — uma das primeiras vezes em que esse formato foi catalogado como vulnerabilidade de produto em vez de achado de pesquisa.
O que a formulação recebida erra
"Antes da versão 1.1.7" sugere um patch recente. 1.1.7 foi enviado ao PyPI em 25 de junho, 71 dias antes do boletim, e a versão atual é 1.2.0. Quem seguiu os próprios exemplos de instalação do README, que não fixam versão alguma, foi levado além do problema meses atrás sem saber que ele existia; quem estava preso a uma versão anterior ficou exposto por dez semanas sem um aviso público para agir. No mesmo dia em que a AWS publicou um segundo CVE de servidor MCP — CVE-2026-85654 em dynamodb-mcp-server, CVSS 7.8, em que um nome de tabela elaborado em um arquivo de modelo de dados vira código em qualquer host que depois execute cdk deploy.
O ponto estrutural
Uma propriedade de segurança implementada como uma blocklist de strings, em um componente cujo propósito inteiro é gerar SQL a partir de linguagem natural não confiável, é o argumento para impor privilégios no banco de dados e não em um parser. O próprio conselho de mitigação provisória da AWS recua exatamente para isso.
