本文へスキップ
MameTechNews
バックエンド

AWS、Postgres向けMCPの読み取り専用回避欠陥を修正

## POINTS

  • 1.1.7未満は読み取り専用設定でも改変SQLが通り得るため、先にパッケージを上げる
  • 接続をsuperuserやマスターユーザーにしないことが、拒否リスト漏れへの最後の防壁になる
  • 読み取り専用用途はCONNECT/USAGE/SELECTとロールレベルの読み取り専用トランザクションに閉じる

AWSはセキュリティ速報2026-101-AWSで、Amazon awslabs postgres-mcp-serverのSQL検証に不十分な拒否リストがあると公表した。1.1.7未満では、読み取り専用のつもりでも、認証済みユーザーがMCPサーバを使う際に渡す内容へ細工したSQLを紛れ込ませると、未認証の攻撃者が読み取り専用の範囲を超えてデータを変更できる可能性がある。速報は2026年9月4日公開で、9月8日に更新されている。

修正はバージョン1.1.7。フォークや派生実装も同等の修正を取り込むよう求めている。回避策として、MCPサーバの接続を必要最小限のPostgresロールにすることが最も強い制御だと説明されている。superuser、rds_superuser、クラスタのマスターユーザーでの接続は避ける。読み取り専用用途ではCONNECT/USAGE/SELECTに限定し、ロールレベルで読み取り専用トランザクションを強制する。読み書きが必要でも、対象スキーマとテーブルに必要なINSERT/UPDATE/DELETEだけを付ける。

エージェントにDBを触らせる構成では、アプリ側の拒否リストだけを信頼できない。MCPを本番データに繋いでいるチームは、パッケージ版数の確認と、接続ロールの権限棚卸しを同じ優先度で行うべきだ。