WORK.SIGNALALL SIGNALS
/ SECURITY / DEEP DIVE

MCP TypeScript SDKのHTTPサーバーにHIGH DoS脆弱性、4製品で修正

90 / 100SIGNAL DEEP DIVESECURITY約2分で読める

Model Context Protocol(MCP)のTypeScript SDKに、HTTPサーバーが受け付けるPOST本文のサイズとJSON-RPCバッチ数を制限しない脆弱性が見つかった。信頼できないクライアントが到達可能なサーバーではメモリ枯渇や処理停滞につながり得るため、SDKの利用形態と修正版を確認したい。

30秒でわかる / THE SIGNAL

Model Context Protocol(MCP)のTypeScript SDKに、HTTPサーバーが受け付けるPOST本文のサイズとJSON-RPCバッチ数を制限しない脆弱性が見つかった。信頼できないクライアントが到達可能なサーバーではメモリ枯渇や処理停滞につながり得るため、SDKの利用形態と修正版を確認したい。

HTTPで公開したMCPサーバーにDoSリスク

開発元のGHSA-f897-62hf-6gxqによると、影響バージョンはStreamable HTTPで受け付けるPOST本文サイズとJSON-RPCバッチ内メッセージ数に上限を設けていなかった。大きなリクエストでメモリが枯渇し、長いバッチで他のクライアントへの応答が妨げられる恐れがある。アプリケーション側で認証を実施していなければ認証不要で到達可能。stdio専用サーバーは対象外。Expressの`express.json()`による本文サイズ制限だけではバッチ件数の制限にはならない。

影響バージョンと修正版

`@modelcontextprotocol/sdk` 1.10.0以上1.30.1未満は1.30.1へ、`@modelcontextprotocol/server` 2.0.0は2.1.0へ、`@modelcontextprotocol/node` 2.0.0は2.1.0へ、`@modelcontextprotocol/hono` 2.0.0は2.0.1へ更新する。修正版では4MiBを超える本文はHTTP 413、100件を超えるバッチはHTTP 400となる。必要に応じて`maxRequestBodySize`を設定できる。

運用上の確認点

インターネットや信頼できないクライアントからHTTPで到達可能なMCPサーバーを優先点検する。更新までの暫定策としてリバースプロキシでPOST本文サイズを制限する。開発元勧告は10月15日に公開され、GitHub Advisory Databaseへの登録は10月27日。実環境での悪用は一次情報から確認できない。

TRANSMISSION / AFTER THE SIGNAL

読んだ、その先へ。

気になった変化を共有して、次のシグナルへ。

SHARE THIS SIGNAL

BACK TO THE INDEX / FIND THE NEXT SIGNALALL SIGNALS