AWS a publié le bulletin de sécurité 2026-101 à 13:00 PDT le 4 septembre — 20:00 UTC, concernant CVE-2026-85787 dans awslabs.postgres-mcp-server. Le texte précise : « Une liste incomplète d’entrées interdites dans le composant de validation SQL … pourrait permettre à un acteur non authentifié de modifier des données au-delà du périmètre lecture seule en insérant un SQL forgé dans le contenu soumis lorsqu’un utilisateur authentifié interagit avec le serveur MCP. »
Ce qui est réellement cassé
Ni la base de données, ni le modèle. L’argument de vente du serveur est la conversion du langage naturel en SQL sur une instance Aurora, avec les écritures soumises à un drapeau d’activation --allow_write_query. Le mode lecture seule reposait sur une liste de chaînes interdites, et cette liste était incomplète. GitHub classe cela en CWE-184. Le vecteur CVSS v4.0 est VC:N/VI:H — confidentialité intacte, intégrité élevée — pour un score de 7,1, contre 6,5 en CVSS v3.1.
Qui est l’attaquant
« Acteur non authentifié » évoque quelqu’un qui frappe un point de terminaison exposé. Le vecteur dit autre chose : UI:P en v4.0, UI:R en v3.1. L’attaquant est non authentifié parce qu’il se contente de déposer du texte à un endroit que le modèle lira ; c’est l’agent propre de l’utilisateur authentifié qui soumet ensuite le SQL résultant. Il s’agit d’une injection de prompt indirecte avec une écriture en base comme charge utile, consignée comme une CVE — l’un des premiers cas où cette forme a été cataloguée comme une vulnérabilité produit plutôt que comme un résultat de recherche.
Ce que le cadrage reçu occulte
« Avant la version 1.1.7 » laisse entendre un correctif récent. 1.1.7 a été téléversée sur PyPI le 25 juin, 71 jours avant le bulletin, et la version actuelle est 1.2.0. Quiconque suivait les exemples d’installation du README, qui ne verrouillent aucune version, a été exposé au problème pendant des mois sans savoir qu’il existait ; quiconque était verrouillé sur une version antérieure est resté exposé pendant dix semaines sans qu’un avis public ne l’invite à agir. Le même jour, AWS a publié une seconde CVE pour un serveur MCP — CVE-2026-85654 dans dynamodb-mcp-server, CVSS 7,8, où un nom de table forgé dans un fichier de modèle de données devient du code sur l’hôte qui exécutera ensuite cdk deploy.
Le point structurel
Une propriété de sécurité mise en œuvre au moyen d’une liste noire de chaînes, dans un composant dont toute la raison d’être est de générer du SQL à partir de langage naturel non fiable, plaide pour l’application des privilèges dans la base de données plutôt que dans un analyseur. Les conseils d’atténuation provisoire d’AWS reviennent précisément à cela.
