---
title: "Starlette の Host ヘッダー検証不備で、パス判定による認証・アクセス制限を回避される欠陥（CVE-2026-48710）: EPSS 0.70、CISA KEV に追加済み、1.0.1 で修正"
url: https://n-t-p.io/worldsecurity/articles/starlette-cve-2026-48710-kev-host-header-path-check-bypass
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年11月7日
updated: 2026年11月7日
severity: 高
cve: CVE-2026-48710
---

# Starlette の Host ヘッダー検証不備で、パス判定による認証・アクセス制限を回避される欠陥（CVE-2026-48710）: EPSS 0.70、CISA KEV に追加済み、1.0.1 で修正

> **TL;DR:** Python の ASGI フレームワーク Starlette が Host ヘッダーを検証せず、`request.url.path` が実際のパスとずれる欠陥（CVE-2026-48710、CVSS 6.5、EPSS 0.703）。パスで判定するアクセス制限を認証なしで迂回される恐れがあり、CISA KEV に 2026-09-02 追加済み。1.0.1 へ更新する。

**要点**
- 細工した Host ヘッダー（`/`・`?`・`#` を含む）で `request.url.path` と実際のパスがずれる（CVE-2026-48710、CWE-444、NVD CVSS v3.1 6.5、EPSS 0.703）
- `request.url` のパスでアクセスを判定するミドルウェアや処理は、認証なしで迂回される可能性がある。生のパスで判定する処理は影響しない
- CISA KEV に 2026-09-02 追加（期限 09-16）。対象は Starlette 0.8.3 以上 1.0.1 未満で、修正版は 1.0.1
- 更新に加え、`request.url.path` による判定の点検と、プロキシでの不正 Host ヘッダー対策が必要。悪用の規模と CVE-2026-42271 との連鎖の詳細は未確認

Python の ASGI フレームワーク Starlette に、HTTP の Host ヘッダーを検証しないまま `request.url` を組み立てる欠陥（CVE-2026-48710）が見つかりました。細工した Host ヘッダーを送ると、実際にルーティングされるパスと `request.url.path` の値がずれます。そのため、`request.url` のパスを見てアクセスを制限するミドルウェアや処理は、認証なしで迂回される可能性があります。CISA の KEV（悪用が確認された脆弱性）カタログには 2026-09-02 に追加されています。NVD の CVSS v3.1 は 6.5、悪用予測（EPSS）は 0.703 と高い水準です。修正版は Starlette 1.0.1 です。

## 概要

| 項目 | 内容 |
|---|---|
| 問題 | Host ヘッダーを検証せずに `request.url` を再構築しており、`/`・`?`・`#` を含む値でパス・クエリの境界が動く（CWE-444、CWE-1289） |
| 攻撃条件 | ネットワークから到達できれば認証不要・操作不要（AV:N/AC:L/PR:N/UI:N） |
| 影響 | `request.url.path` を使ったアクセス制御の迂回（機密性・完全性に限定的な影響） |
| CVSS v3.1 | 6.5（NVD、GitHub のアドバイザリも同値）。ベクターは C:L/I:L/A:N |
| EPSS | 0.703（パーセンタイル 0.994） |
| CISA KEV | 2026-09-02 追加。期限 2026-09-16。ランサムウェアでの利用は不明 |
| NVD の状態 | Analyzed |
| 対象 | Starlette 0.8.3 以上 1.0.1 未満（NVD の構成情報） |
| 修正版 | 1.0.1 |

仕組みは次のとおりです。Starlette のルーティングは、リクエスト行にある生のパスで行き先を決めます。一方 `request.url` は、Host ヘッダーとパスをつなげた文字列を解析し直して作られます。たとえば次のように送ると、ルーターは `/foo` の処理を実行しますが、`request.url.path` は `/abc` になります。

```
GET /foo HTTP/1.1
Host: example.com/abc?bar=
```

`request.url.path` の値で「`/admin` で始まるパスは認証必須」のような判定をしていると、実際には `/admin` に届いているのに判定をすり抜けます。生のパス（`scope["path"]`）で判定している処理には影響しません。

## なぜ重要か

Starlette は FastAPI をはじめ多くの Python の Web アプリや API サーバーの土台になっており、AI の推論サーバーやゲートウェイにも組み込まれています。NVD の構成情報には、Red Hat の AI 推論サーバー、OpenShift AI、Ansible Automation Platform などの製品も並んでいます。KEV は、この欠陥が認証の迂回に使われうるものとして悪用の確認を示しています。CISA は別の CVE（CVE-2026-42271）との連鎖が可能とも記載しています。

深刻度は CVSS 6.5 と中程度ですが、EPSS が 0.70 と高く、KEV に載っているため、更新の優先度は高めです。一方で、影響はアプリ側が `request.url` をアクセス判定に使っている場合に限られます。リバースプロキシやロードバランサーが不正な Host ヘッダーを拒否・正規化していれば、緩和されます。

## 対策

- Starlette を 1.0.1 以上に更新する。FastAPI など Starlette を内包するフレームワークは、依存する Starlette の版を確認する（`pip show starlette` や依存関係の一覧で確認できる）。
- 自社のミドルウェアや認可処理が `request.url.path` や `request.url` でアクセスを判定していないか点検し、生のパス（`request.scope["path"]`）を使うように直す。
- 前段のプロキシで、`/`・`?`・`#` を含む不正な Host ヘッダーを拒否するか、正規化する。`X-Forwarded-Host` をアプリ側で信用していないかも確認する。
- KEV の期限（2026-09-16）はすでに過ぎている。保護対象のパスに、想定外の Host ヘッダーを伴うアクセスが成功していないか、Web サーバーやプロキシのログを調べる。

## 数値と出典（2026-11-04 時点）

| 項目 | 内容 |
|---|---|
| NVD | Analyzed。CVSS v3.1 6.5（AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N） |
| EPSS | 0.703、パーセンタイル 0.994（FIRST、2026-11-03） |
| KEV | 2026-09-02 追加。期限 2026-09-16。ランサムウェア利用は不明 |
| 出典 | NVD、CISA KEV、FIRST、GitHub アドバイザリ（GHSA-86qp-5c8j-p5mr）、PyPA アドバイザリ DB（PYSEC-2026-161） |

## 未確認の点

- 悪用の規模、攻撃者、狙われた具体的なアプリや製品。KEV は悪用の確認を示すが、詳細は公開情報で確認できていない。
- CISA が連鎖の可能性に挙げた CVE-2026-42271 の内容と、連鎖したときの影響。
- 認証迂回が成立する具体的なアプリの構成の広がり。FastAPI などの上位フレームワークで標準の設定のまま影響を受けるかは確認できていない。
- Starlette 1.0.1 より前の系統（0.8.3 以降）それぞれの修正版の有無。NVD は 1.0.1 未満を対象としている。
- 更新できない場合の公式な回避策（上記のプロキシでの対策は一般的な対策）。


## 出典
- [NVD CVE-2026-48710](https://nvd.nist.gov/vuln/detail/CVE-2026-48710) — NIST NVD
- [GitHub Security Advisory GHSA-86qp-5c8j-p5mr](https://github.com/Kludex/starlette/security/advisories/GHSA-86qp-5c8j-p5mr) — Starlette プロジェクト
- [PyPA Advisory Database PYSEC-2026-161](https://github.com/pypa/advisory-database/tree/main/vulns/starlette/PYSEC-2026-161.yaml) — PyPA
- [CISA KEV カタログ CVE-2026-48710](https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-48710) — CISA
- [FIRST EPSS](https://api.first.org/data/v1/epss?cve=CVE-2026-48710) — FIRST

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/starlette-cve-2026-48710-kev-host-header-path-check-bypass