CVE-2026-48710 の詳細
CVEの情報
説明:
Starlette is a lightweight ASGI framework/toolkit. Prior to version 1.0.1, the HTTP `Host` request header was not validated before being used to reconstruct `request.url`. Because the routing algorithm relies on the raw HTTP path while `request.url` is rebuilt from the `Host` header, a malformed header could make `request.url.path` differ from the path that was actually requested. Middleware and endpoints that apply security restrictions based on `request.url` (rather than the raw `scope` path) could therefore be bypassed. Users should upgrade to a version greater than or equal to version 1.0.1, which validates the `Host` header against the grammar of RFC 9112 §3.2 / RFC 3986 §3.2.2 when constructing `request.url` and falls back to `scope["server"]` for malformed values.
CVE更新日: 2026-05-26 22:16:44.020000
CVSSバージョン: 3.1
CVSSスコア: 6.5
KEVの情報
KEV更新日: 2026-09-02
EPSSの情報
EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。
EPSSスコア: 0.070560000
EPSS更新日: 2026-10-16 00:00:00
SSVCの情報
SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。
Exploitation: active
Technical Impact: medium
Automatable: True
CVE-2026-48710に関する調査結果を以下に解説します。
1. 脆弱性の概要
CVE-2026-48710は、Pythonの軽量ASGIフレームワークであるStarletteにおける認証バイパスの脆弱性です。この脆弱性は、「BadHost」というニックネームでも知られています。Starletteのバージョン1.0.1より前では、HTTPの
Hostリクエストヘッダーが検証されずにrequest.urlの再構築に使用されていました。Starletteのルーティングアルゴリズムが生のHTTPパス(
scope["path"])に依存する一方で、request.urlはHostヘッダーから再構築されるため、不正な形式のHostヘッダー(例:/,?,#などの予約文字を含む)を挿入すると、request.url.pathが実際にリクエストされたパスと異なる状況が発生します。これにより、request.urlに基づいてセキュリティ制限を適用するミドルウェアやエンドポイントが迂回される可能性があります。この脆弱性は、FastAPIなどのStarletteを基盤とする多くのWebスタックや、AI/LLM関連のサービスに影響を与えます。
1.1 影響
この脆弱性により、パスベースのセキュリティ制御における完全な認証バイパスが発生します。攻撃者は認証なしで、保護されたリソースにアクセスできる可能性があります。
さらに、特定のデプロイパターンでは、このバイパスがServer-Side Request Forgery (SSRF) に連鎖し、保護されたエンドポイントがモデルの読み込みやツール実行を公開している場合には、リモートコード実行 (RCE) につながる可能性も指摘されています。
特に、AIサービス、LLM推論サーバー、コーディングアシスタント、チャットエージェント、MCPサーバー、OpenAI互換APIプロキシ、およびFastAPI上に構築されたAIエージェントフレームワークなど、幅広いAIスタックが影響を受けます。
1.2 深刻度
2. 対象となる環境
2.1 影響を受けるOSバージョン
本脆弱性はStarletteフレームワークの設計上の欠陥であり、特定のOSバージョンに直接依存するものではありません。したがって、OSバージョンによる影響は不明です。
2.2 影響を受ける設定
request.urlまたはrequest.url.pathに基づいてセキュリティ上の判断を行うミドルウェアやエンドポイントが脆弱です。これは、生のASGIscope['path']を使用しない場合に発生します。Hostヘッダーを拒否または正規化しない環境は脆弱です。3. 影響を受けた時の兆候
Hostヘッダーに/,?,#などの予約URL文字や空白を含むHTTPリクエスト。Hostヘッダー値、または標準的なhost:port形式以外の複数のコロンを含むHostヘッダー値。Hostヘッダー(例:?が追加されたもの)を使用することで200 OKを返す場合。4. 推奨対策
4.1 本対策
HostヘッダーがRFC 9112およびRFC 3986の文法に照らして検証され、不正な値の場合にはscope["server"]にフォールバックしてrequest.urlが構築されます。4.2 暫定回避策(緩和策)
Hostヘッダーがアプリケーションに到達する前に拒否するように設定してください。これはコード変更を必要としない最も簡単な緩和策です。request.urlやrequest.url.pathではなく、生のASGIrequest.scope["path"]を使用するようにコードを修正してください。scope["path"]はASGIサーバーから直接提供され、Hostヘッダーの操作の影響を受けません。参照したサイト