MCPエージェント対応ツールの普及が、セキュリティの新しいリスクを生んでいます。2026年4月、AIエージェント用プロトコル「MCP(Model Context Protocol)」を組み込んだNginx管理ツール「nginx-ui」に、認証なしで全サーバーを乗っ取れる致命的な脆弱性が発見されました。

この記事でわかること:

  • MCPwn(CVE-2026-33032)の仕組みとCVSS 9.8の根拠
  • たった2つのHTTPリクエストで完全な乗っ取りが成立する理由
  • 影響を受けるバージョンと今すぐとるべき対策

MCPwnとは

セキュリティ研究機関Pluto Securityが命名した「MCPwn」は、nginx-uiのMCPエンドポイントに認証処理が欠落していた脆弱性です。CVE-2026-33032として登録され、CVSSスコアは最高クラスの9.8。

nginx-uiはNginxをWebブラウザから管理するオープンソースのGUIツールです。バージョン2.x系でMCPサポートを追加したことで、AIエージェントからNginxを自然言語で操作できるようになりました。その拡張が今回の穴になりました。

2026年4月13日にVulnCheck KEVリストへ追加され、実際の攻撃が確認されています。Shodan調査によれば、世界50か国以上で約2,600のインスタンスが今もインターネットに露出しています。

脆弱性の仕組み:27文字の欠落

nginx-uiのMCP実装は、SSE(Server-Sent Events)トランスポートで2つのエンドポイントを持っています。

エンドポイント 認証
GET /mcp AuthRequired()ミドルウェアあり
POST /mcp_message なし(欠落)

MCPセッションは/mcpで確立し、実際のツール呼び出しは/mcp_messageに送ります。前者に認証があっても後者にないため、セッションIDさえ入手すれば任意のMCPツールを認証なしで実行できます。

修正コミット413dc63が追加したコードはmiddleware.AuthRequired()のたった27文字です。これだけの記述で9.8の脆弱性が生まれていました。

もう1つの問題はデフォルト設定です。IPアローリストが空の場合は「すべて許可」として動作するため、ホワイトリスト制限が実質機能していませんでした。

2ステップで完全乗っ取り

攻撃者が必要なのはHTTPリクエスト2本だけです。

ステップ1: セッション確立

GET /mcp?node_secret=<値>

SSEセッションが確立され、セッションIDが返ります。node_secret自体は別の脆弱性CVE-2026-27944で漏洩する場合があり、組み合わせると無認証からの完全攻撃が成立します。

ステップ2: MCPツール実行

POST /mcp_message?sessionId=<取得したID>
Content-Type: application/json

{"method": "tools/call", "params": {"name": "restart_nginx", ...}}

JWTもCookieも認証ヘッダーも一切不要です。

露出する12のMCPツール

認証なしで呼び出せるツールは12種類あり、7種が破壊的操作です。

破壊的操作(7種)

  • nginx_config_add — 設定ファイル追加(自動リロード付き)
  • nginx_config_modify — 設定変更
  • nginx_config_enable / nginx_config_rename — 有効化・リネーム
  • nginx_config_mkdir — ディレクトリ作成
  • reload_nginx / restart_nginx — サービス再起動

偵察(5種)

  • nginx_config_get / nginx_config_list — 設定の読み取り・列挙
  • nginx_config_base_path / nginx_config_history — パスと変更履歴
  • nginx_status — 稼働状態確認

Pluto Securityの研究者は別マシンから12ツール全ての列挙、設定ファイルの窃取、新規サーバーブロックの注入と自動反映を実証しました。リバースプロキシの設定を書き換えれば、通過するHTTPトラフィックをそのまま傍受できます。

対策:今すぐアップデートを

修正版はすでに公開されています。

推奨:バージョン2.3.6以降へ更新

# パッケージマネージャー経由の場合
apt update && apt upgrade nginx-ui
# またはGitHubリリースから手動ダウンロード

暫定対策(アップデートできない場合)

  1. MCPサポートを無効化する
  2. IPアローリストに信頼できるIPを明示的に追加する(空白のまま放置しない)
  3. 外部からの/mcp/mcp_messageへのアクセスをファイアウォールでブロックする

2026年3月15日リリースのv2.3.4で修正が入りましたが、Recorded Futureのアドバイザリでは2.3.6以降を推奨しています。

MCPの普及がセキュリティ面前線を拡大する

MCPはAnthropicが提唱するAIエージェント向けの接続プロトコルで、2025年以降に急速に普及しました。AIエージェントに「サーバー管理」「データベース操作」「コード実行」などの権限を与えるツールへの組み込みが増えています。

MCPwnはMCPを実装したツールで初めて野放し状態になった重大脆弱性です。MCPエンドポイントは「AIだけが使う内部API」という認識で認証設計が甘くなりがちです。nginx-uiの事例はその典型で、今後のMCP対応ツール開発における設計指針として業界全体が参照すべき教訓です。

自前でMCPサーバーを実装している場合は、全エンドポイントに認証ミドルウェアが適用されているかを今すぐ確認してください。