1.脆弱性の説明
Nginx UI は広く使われているオープンソースのNginx用グラフィカル管理ツールです。統合された エムシーピー (モデルコンテキストプロトコル) コード実装の見落としに起因する深刻な認証バイパス脆弱性が、コードネーム MCPwnそうだ。 CVE-2026-33032。
この脆弱性の主な原因は、ルート登録におけるロジックエラーである:/mcp エンドポイントは次の影響を受ける。 AuthRequired() ミドルウェア・プロテクションは、実際のツール・コール命令を受け取るために使用される。 /mcp_message 配備時のエンドポイントこの認証ミドルウェアがない.これにより、このUIにネットワークアクセスできる攻撃者は、認証情報なしでNginxサービスを乗っ取ることができます。
2.脆弱性の影響
•CVE番号CVE-2026-33032
•ニックネームMCPwn
•CVSS 3.1評価:9.8(クリティカル) (ベクトル:AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)。
•脆弱性タイプ認証バイパス (CWE-306)
•影響を受けるバージョン:nginx-ui < 2.3.4
•復元版nginx-ui ≥ 2.3.4
•技術的インパクト:
•任意の設定変更スルー edit_config このツールはサーバーブロックを書き換え、攻撃者がコントロールするアップストリームサーバーを挿入する。
•サービス乗っ取りスルー リロード 悪意のある設定を即座に実行する。 ストップ_nginx サービス拒否(DoS)を引き起こす。
•機密情報の漏洩利用 読み取りファイル ツールを使って、TLS秘密鍵やシステム認証情報などの機密ファイルを読み取ることができる。
•永続性コントロール攻撃者は 証明書作成 管理された証明書を再発行するか、他の脆弱性と組み合わせて長期潜伏を実現する。
3.POC(概念実証)
攻撃チェーンは極めて単純で、乗っ取りを完了するのに必要なHTTPリクエストは2つだけだ:
ステップ1:セッションIDの取得
攻撃者は、制限されていないSSEストリーム・エンドポイントにリクエストを行い、後続のコマンドを実行するために必要なセッション識別子を取得する。
GET /mcp HTTP/1.1 ホスト: :9000
期待される反応を含むリストを返す。 セッションID=XYZ データの流れ.
ステップ2:昇格権限ツールコマンドの実行
獲得した資金の使用 セッションID 向 /mcp_message JSON-RPCコールを送信する(機密ファイルの読み取りなど):
POST /mcp_message?sessionID=XYZ
HTTP/1.1
ホスト: :9000
コンテントタイプ: application/json
{ "jsonrpc": "2.0", "method": "read_file", "params": { "path":"/etc/nginx/nginx.conf" }, "id": 1 }.
脆弱性悪用の連鎖(チェーン)
この脆弱性は、しばしば次のようなものと関連している。 CVE-2026-27944(不正なバックアップダウンロードの脆弱性)を組み合わせて使用する。後者は ノード秘密33032の脆弱性を修正した後でも、鍵のローテーションが適時に行われない場合、攻撃者はMCPインターフェースへのアクセスを維持することができる。
4. リハビリテーションの提案またはプログラム
4.1 コア修理
•今すぐアップグレードnginx-uiのアップグレード 2.3.4 またはそれ以上。ルート登録に公式パッチが当てられた AuthRequired() 電話だ。
// コード・スニペットを修正
r.ポスト("/mcp_message", 認証必須(), mcpMessageHandler)
4.2 緩和と統合
•ポート絶縁nginx-uiの管理ポート(デフォルト9000)をパブリックネットワークに直接公開しないでください。アクセス制御にはVPN、bastion、ファイアウォール(ホワイトリストポリシー)を使用してください。
•ディセーブル機能AIアシスト管理が不要な場合は、コンフィギュレーション・ファイルでMCPモジュールを完全に無効にすることができます。
•キー回転アップグレードの際は、必ずローテーションしてください。 ノード秘密パネルに保存されている SSL キーとすべての機密情報。
4.3 検出手段
•自動テスト利用可能 keraattin/CVE-2026-33032 提供されたPythonスクリプトまたはNmap NSEプラグインによる非破壊検査。
5.参考文献
元記事はChief Security Officerによるもので、転載の際はhttps://www.cncso.com/jp/nginx-ui-mcp-authentication-bypass.html。