何が起きたか
fast-mcp-telegramのファイルURLダウンローダーにおけるSSRFデニーリストは、リテラルなホスト名文字列のみを検証していたためバイパス可能だった。攻撃者はループバックまたはプライベートアドレスに解決されるドメインを提供できた(localtest.me → 127.0.0.1およびinternal-service.local → 10.xのモックgetaddrinfoを使用したテストで実証済み)。30.1でDNS解決検証を追加して修正された。
なぜ重要か
Telegram MCPサーバーは、内部インフラストラクチャへのネットワーク到達性を持つアナリスト/オペレーションマシンで一般的に実行される。エージェントが呼び出し可能なMCPツールを介して到達可能なSSRFにより、悪意のあるプロンプトや侵害されたエージェントがツールサーバーから内部サービスやクラウドメタデータエンドポイントにピボットできる。
攻撃経路
send_messageツールは、サーバーがフェッチして送信Telegramメッセージに添付するファイルURLのリストを受け入れる。_validate_url_securityはリテラルなlocalhost/プライベート文字列をブロックするが、127.0.0.1または10.x.x.xに解決されるドメイン(例: localtest.me → 127.0.0.1)は解決しなかったため、内部サービスやクラウドメタデータへのSSRFが可能だった。
影響を受けるシステム
leshchenko1979/fast-mcp-telegram < 30.1(send_message / send_message_to_phoneツール)
緩和策
fast-mcp-telegram >= 30.1(コミットe6b3032)にアップグレードすること。socket.getaddrinfo DNS解決チェックが追加され、URL検証がホスト名文字列だけでなく解決されたアドレスと一致するようになる。