AWS ha pubblicato il bollettino di sicurezza 2026-101 alle 13:00 PDT del 4 settembre — 20:00 UTC, relativo a CVE-2026-85787 in awslabs.postgres-mcp-server. Il testo recita: "Un elenco incompleto di input disallowed nel componente di validazione SQL … potrebbe consentire a un attore non autenticato di modificare dati oltre l'ambito di sola lettura inserendo SQL costruito ad arte nel contenuto inviato quando un utente autenticato interagisce con il server MCP."
Cosa è realmente compromesso
Non il database, e non il modello. Il punto di forza del server è la conversione da linguaggio naturale a SQL contro un'istanza Aurora, con le scritture protette da un flag --allow_write_query facoltativo. La modalità sola lettura era implementata come un elenco di stringhe vietate, e l'elenco era incompleto. GitHub la classifica come CWE-184. Il vettore CVSS v4.0 è VC:N/VI:H — riservatezza intatta, integrità elevata — con punteggio 7.1, mentre CVSS v3.1 è 6.5.
Chi è l'attaccante
"Attore non autenticato" fa pensare a qualcuno che colpisce un endpoint esposto. Ma il vettore dice altro: UI:P in v4.0, UI:R in v3.1. L'attaccante non è autenticato perché si limita a collocare del testo in un punto che il modello leggerà; è l'agente dell'utente autenticato a inviare il SQL risultante. Si tratta di prompt injection indiretta con una scrittura sul database come payload, archiviata come CVE — una delle prime volte in cui questa configurazione viene catalogata come vulnerabilità di prodotto e non come risultato di ricerca.
Cosa sbaglia la cornice ricevuta
"Prima della versione 1.1.7" lascia intendere una nuova patch. 1.1.7 è stata caricata su PyPI il 25 giugno, 71 giorni prima del bollettino, e la release attuale è la 1.2.0. Chiunque abbia seguito gli snippet di installazione del README, che non fissano alcuna versione, è stato portato oltre il problema per mesi senza sapere che esistesse; chiunque sia rimasto bloccato su una versione precedente è stato esposto per dieci settimane senza alcun avviso pubblico su cui agire. Lo stesso giorno AWS ha pubblicato una seconda CVE per un server MCP — CVE-2026-85654 in dynamodb-mcp-server, CVSS 7.8, in cui un nome di tabella costruito ad arte in un file di data model diventa codice su qualunque host esegua successivamente cdk deploy.
Il punto strutturale
Una proprietà di sicurezza implementata come blocklist di stringhe, in un componente il cui scopo è generare SQL da linguaggio naturale non fidato, è l'argomento a favore dell'applicazione dei privilegi nel database anziché in un parser. Anche il consiglio provvisorio di mitigazione di AWS torna, in sostanza, proprio lì.
