何が起きたか
CVE-2026-87911 (CVSS 9.6、重大) は、Amazon awslabs postgres-mcp-server バージョン 1.1.7 より前の SQL 検証コンポーネントの読み取り専用実行における OS コマンド インジェクション弱点です。検証レイヤーは作成された PostgreSQL COPY ... TO PROGRAM ステートメントをブロックできず、これは PostgreSQL が OS レベルのコマンドとして実行するため、認証不要のアクターは MCP サーバーが読み取り専用モードで構成されている場合でも自己管理型 PostgreSQL サーバーのホスト上で任意のオペレーティング システム コマンドを実行できます。
なぜ重要か
MCP サーバーは LLM エージェントとバックエンド システム間の標準的なツール呼び出しブリッジです。読み取り専用アクセスを実行することになっているが代わりに OS コマンド実行を許可するデータベース MCP サーバーは、エージェント オペレータが LLM エージェントにデータベースを安全に曝露するために依存する セキュリティ境界を完全に破棄します。このMCP サーバー経由で LLM に「読み取り専用」データベース アクセスを付与したエージェント アーキテクチャは、実際には PostgreSQL サーバー上で完全なホスト侵害に曝露されていました。
攻撃経路
アクター (プロンプト インジェクション経由で強制された LLM エージェント、または MCP ツール インターフェースの任意のユーザー) は PostgreSQL の COPY ... TO PROGRAM 構文を使用して作成された SQL ステートメントを送信します。読み取り専用 SQL バリデータはこれを変異/OS 実行操作として認識できず、PostgreSQL ホストで任意のコマンド実行が可能になります。
影響を受けるシステム
1.1.7 より前の Amazon awslabs postgres-mcp-server
緩和策
postgres-mcp-server 1.1.7 以降にアップグレード。AWS は詳細な防御として、MCP サーバーを専用の最小特権 PostgreSQL ロールで実行することを追加で推奨しています。