最も広く使用されているPythonのWebフレームワークの1つに深刻なセキュリティ脆弱性が存在し、数百万のAIエージェント、機械学習ツール、本番サービスが認証なしの攻撃者に対して脆弱になっています。この脆弱性はCVE-2026-48710として追跡されており、「BadHost」と呼ばれています。これは、週に3億2500万回のダウンロードを記録するオープンソースフレームワークであるStarletteに影響を与えます。
これはタイプミスではありません。週に3億2500万です。StarletteはFastAPIと広範なPython非同期プロジェクトのエコシステムの基盤であるため、その影響範囲は単一のライブラリを超えています。
BadHostが実際に行うこと
Starletteは、攻撃者が自由に操作可能なHTTP Hostヘッダーをリクエストパスと連結し、その結果を再パースすることでリクエストのURLを再構成します。フレームワークはまずHostヘッダーを検証しません。
Hostヘッダーに/、?、#などの特定の文字を挿入することで、攻撃者は再構築されたURLにおけるパスの境界を変更できます。これにより、パスに基づく認証チェックに依存するミドルウェアを回避することが可能になります。認証情報は不要で、複雑な攻撃チェーンも必要ありません。単に意図的に作成されたHTTPヘッダーだけで済みます。
結果として、影響を受けるアプリケーションで完全な認証バイパスが発生します。BadHostを悪用する攻撃者は、保護されたエンドポイントにアクセスし、機密データを取得し、脆弱なアプリケーションに接続されたサードパーティサービスの認証情報を盗む可能性があります。
AIインフラの問題
特に懸念されるのは、Starletteに依存する下流プロジェクトのリストである。PythonのWebサービス構築で最も人気のあるフレームワークの一つであるFastAPIは、Starletteの上に構築されている。大規模言語モデルを本番環境で提供するために広く導入されているvLLMとLiteLLMも同様である。AIエージェントツールを支えるモデルコンテキストプロトコル(MCP)サーバーも関与している。数千ものオープンソースプロジェクトがStarletteを必要としており、1つの脆弱性が連鎖的に広がる、膨大な伝播依存関係のネットワークが形成されている。
この脆弱性は1.0.1より前のすべてのStarletteバージョンに影響します。1.0.1以降でパッチがリリースされており、影響を受けるアプリケーションを特定するための無料スキャナーはbadhost.orgで利用可能です。
異常ではなくパターン
BadHostは孤立して登場したわけではない。この開示は、2025年および2026年にAIエージェントフレームワーク全体で発生した、プロンプトインジェクション攻撃やリモートコード実行の脆弱性を含む、増加するセキュリティ問題の波の中での出来事である。
あるプロジェクトはStarletteを直接インポートしていない場合でも、その依存関係がインポートしているため、脆弱性の対象となる可能性があります。
これは投資家にとって何を意味するか
即時の影響は運用面です。AIエージェントやLLMサービスインフラを運用しているチームは、依存関係ツリーを確認し、Starlette 1.0.1以降に更新する必要があります。遅延するほど、認証や特別なアクセスを必要としない攻撃への暴露リスクが高まります。
