🌐 This article hasn't been translated yet — showing the Japanese version.
FastAPIの土台Starletteに認証バイパス、Hostヘッダ1文字でAI基盤数百万が露出 (CVE-2026-48710) thumbnail

FastAPIの土台Starletteに認証バイパス、Hostヘッダ1文字でAI基盤数百万が露出 (CVE-2026-48710)

Importance: High
⏱ approx. 3 min views 123 likes 0 LOG_DATE:2026-05-27
TOC

FastAPI の土台である Python の ASGI フレームワーク Starlette に、Host ヘッダを 1 文字書き換えるだけで認証を回避できる脆弱性 CVE-2026-48710 (通称 BadHost) が公表された。週 3 億ダウンロードを超える事実上の標準ライブラリで、世界中の AI 推論サーバや MCP ホストが軒並み影響範囲に入る。AI エージェント時代の依存ツリーが、たった 1 行の正規化ミスで足元から崩れる構図だ。

Host ヘッダ 1 文字で認証を素通り #

きっかけは Starlette の URL 再構築処理が request.url.path を Host ヘッダ由来の値から組み立てている点にある。攻撃者は HTTP リクエストの Host: に 1 文字 (たとえばトレイリングドットや空白) を差し込むだけで、内部ルータが認識するパスと実際に要求されたパスがズレた状態を作れる。ミドルウェアの認可判定は「素のパス」を見て通過させ、その先のルーティングは別のエンドポイントに到達する — 典型的な path confusion 系のバイパスだ。CVSS 7.0 と公表されているが、認証境界を素通りされる以上、実装次第で 管理 API や /v1/internal 系をそのまま叩ける ケースが出る。

影響は FastAPI だけにとどまらない #

Starlette は FastAPI の中核だが、波及範囲はそれ以上に広い。vLLM・LiteLLM・Text Generation Inference といった LLM 推論サーバ、OpenAI 互換 API の shim プロキシ、そして MCP (Model Context Protocol) サーバや各種エージェントハーネス が同じスタックを採用している。ここ 1 年で「とりあえず FastAPI で薄く包む」が AI インフラの定番パターンになった結果、Starlette 1 本に依存ツリーが収斂しており、社内 LLM ゲートウェイから外向き agent API まで一網打尽になる。OSS の薄いラッパーで信頼境界を引いていた組織ほど被害が大きい。

確認と対策、そして AI 時代の依存リスク #

対応は単純で、Starlette 1.0.1 以上へ即時アップグレード。FastAPI 等の上位ライブラリも追従パッチが出ているため pip-auditosv-scanner で依存全体を洗い直したい。さらに WAF/リバースプロキシ側で Host ヘッダの正規化 (空白・末尾ドット・複数値の弾き) を強制 すれば、応急処置として有効に働く。

ハッカー視点で見ると、これは「枯れたフレームワークの 1 関数」が突然 AI 業界全体のサプライチェーン障害点に化けた事例だ。MCP や agent ハーネスは依存先を増やしながら高速に量産されており、Starlette のような土台への 1 件の CVE が、本人たちの知らないところで認証境界を消す。requirements.txt を見るだけでは追えない攻撃面を、各社がいま棚卸しすべきタイミングだ。

COMMENTS 0

No comments yet — be the first to leave one.

Post a comment