LiteLLMのHostヘッダーによる認証回避CVE-2026-49468
- タグ
- 国外
LiteLLMのプロキシサーバーに、特定の条件で保護された管理用ルートへの認証なしのアクセスを許しうる脆弱性CVE-2026-49468〔注1〕があった[9]。原因はHostヘッダーの解析の不備である[9]。開発元の2026年6月1日の告知によると、修正はv1.84.0で出しており、更新に設定の変更は要らない[1]。
脆弱性の内容
開発元は告知で、プロキシの認証層がlitellm/proxy/auth/auth_utils.pyのget_request_route()で、有効なルートをrequest.url.pathから導いていたと説明した[1]。request.url.pathは、StarletteがHostヘッダーから組み立て直す値である[1]。細工したHostヘッダーを送ると、認証の関門はFastAPIが実際に振り分けたルートとは別のルートを評価し、保護された管理用ルートを公開ルートとして扱いうる[1]。
| 項目 | 値 | 示した組織 | 資料 |
|---|---|---|---|
| CVSS 4.0 | 9.5(CRITICAL、AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H) | CNA(GitHub_M) | [9] |
| CVSS 3.1 | 9.8(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) | NVD | [10] |
| CVSS 3.1 | 8.1(深刻度Important、AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) | Red Hat | [8] |
| CVSS 3.1 | 10.0 | IONIX | [13] |
| CWE | CWE-290(なりすましによる認証回避) | CNA(GitHub_M) | [9] |
開発元によると、報告者の所属はKCSCとOne Mount Groupだった[1]。CVEの記録は参照先に、GitHubのアドバイザリGHSA-4xpc-pv4p-pm3wとv1.84.0のリリースを挙げる[9]。開発元は、このアドバイザリをGitHubのlitellmのリポジトリに掲載した[7、9]。
Starletteの脆弱性との関係
StarletteのCVE-2026-48710の記録では、1.0.1より前のStarletteは、Hostヘッダーを検証しないままrequest.urlを組み立て直していた[16]。このため、request.urlに基づく制限が回避されうる[16]。
この脆弱性を扱うBadHostの公開ページでは、発見したのはOSTIFが支援した監査に当たったX41 D-Secである[17]。同じページは、LiteLLMなどのLLMプロキシサーバーがFastAPI・Starlette上に作られ、パスに基づく認証を使っていると記している[17]。
別の脆弱性では、Horizon3.aiが、LiteLLMのCVE-2026-42271をStarletteのCVE-2026-48710と連鎖させると認証の要件を回避できることを確かめたと報告した[18]。
時系列
| 日付 | 主体 | 内容 | 資料 |
|---|---|---|---|
| 2026年 | LiteLLM | v1.84.0のリリースノートを出した | [2] |
| 2026年 | - | StarletteのCVE-2026-48710が公開された | [16] |
| 2026年 | LiteLLM | パス処理の強化を取り込んだv1.84.2・v1.85.2・v1.86.2と、v1.84.2をDockerfileだけ作り直したv1.84.3のリリースノートを出した | [3、4、5、6] |
| 2026年 | - | CVE-2026-49468が予約された | [9] |
| 2026年 | LiteLLM | ブログで今回の認証回避を告知した | [1] |
| 2026年 | GitLab | GitLab Advisory Databaseに掲載した | [11] |
| 2026年 | - | CVE-2026-49468の記録が公開された | [9] |
| 2026年 | PyPA | 同じ脆弱性をPYSEC-2026-388として公開した | [12] |
対象の製品と版
| 製品 | 影響を受ける版 | 修正版 | 資料 |
|---|---|---|---|
| litellm(プロキシサーバー) | 1.84.0未満 | 1.84.0 | [9] |
| LiteLLMのPython SDK | 影響を受けない | - | [1] |
| LiteLLM Cloud | 顧客に影響なし(公表の前に全環境へ更新を展開) | - | [1] |
開発元の告知では、回避の可能性は3つの条件をすべて満たす配置に限られていた[1]。
リスナーがプライベートネットワークに結び付けられているか、独自の認証を求めるゲートウェイの後ろにあるなど、信頼できないクライアントが到達できなければ、回避の可能性に対して開かれていない[1]。
| 配布元 | 状態 | 修正版・アドバイザリ | 資料 |
|---|---|---|---|
| Red Hat OpenShift AI(rhoai/odh-llama-stack-core-rhel9) | Fix deferred(影響度low) | - | [8] |
| Red Hat OpenShift AI(rhoai/odh-trustyai-garak-lls-provider-dsp-rhel9) | Fix deferred(影響度low) | - | [8] |
| Red Hat OpenShift AI(rhoai/odh-mlflow-rhel9) | Affected(影響度low) | - | [8] |
| Red Hat Ansible Automation Platform 2(lightspeed-chatbot-rhel9、2.6・2.7) | Fix deferred(影響度low) | - | [8] |
| Red HatのExploit Intelligence(vulnerability-analysis-rhel9) | Affected | - | [8] |
Red Hatは、既定の配置では攻撃面が限られるとして、深刻度をImportantにした[8]。対象のイメージは脆弱な版のlitellmを含むが、既定ではLiteLLMのプロキシサーバーを起動しない[8]。OpenShift AIとAnsible Automation Platformでは、深刻度をlowにした[8]。一部のイメージに依存としてlitellmを含むものの、既定の構成ではプロキシを動かさないためである[8]。
悪用の状況
CISAが6月23日にCVEの記録に加えたSSVCの評価では、悪用は「none」だった[9]。自動化は「yes」、技術的な影響は「total」とした[9]。10月25日に更新されたNVDの記録に、CISAのKEVカタログの項目は無い[10]。
修正と回避策
開発元の告知では、v1.84.0の主な修正で、リクエストのルートをHostから組み立て直したURLではなく、ASGIのscopeのパスから導くようにした[1]。追加の対応として、プロキシ内でリクエストのURLからルートを導く箇所をすべて監査し、同じ強化した解決の方法に移した[1]。この強化はv1.84.3・v1.85.2・v1.86.2・v1.83.10-stable.patch.3の各系列に取り込まれた[1]。開発元は、完全な緩和のためにこれらの版への更新を勧めた[1]。
- v1.84.0以降の版に更新する(推奨は最新の版)[1]。
- 影響のある版で信頼できないネットワークからプロキシに到達できた場合は、露出の期間に作られたAPIキーをローテーションし、管理の監査ログで想定外のキー・ユーザー・設定の変更を確かめる[1]。
- すぐに更新できない場合は、Hostヘッダーを検証・正規化する上流の部品の後ろに置くか、リスナーへのネットワークの到達を制限する[1]。部品の例は、CloudflareなどのCDN・WAF、server_nameの許可リストを持つリバースプロキシ(nginx・Caddy・Traefik)、ホストに基づくルーティング規則を持つクラウドのロードバランサーである[1]。
開発元は、Hostを検証・正規化する基盤を前に置くと構成によって回避の可能性は下がるが、更新の完全な代わりにはならないとした[1]。クライアントのHostをそのまま転送するリバースプロキシ(nginxのproxy_set_header Host $host;など)では、十分に守れない可能性もある[1]。更新を回避の可能性の除去とし、境界での遮断は一時しのぎとして扱うよう求めた[1]。
v1.84.2のリリースノートでは、非root用のイメージ(litellm-non_root)の1.84.2は、ビルダーにnpmが無くビルドに失敗した[3]。非rootの配置では、v1.84.3を固定して使う[3]。
未公表の事項
- 開発元が報告を受けた日と、修正までの経緯
- 影響を受けた配置の数
- 露出の期間に作られたAPIキーの悪用の有無
- 開発元の告知がCVEの欄でCVE-2026-48710にリンクしている理由
- v1.83.10-stable.patch.3のリリースノート
注
出典
当事者
- [1]Berrie AI Incorporated『Fixed in 1.84.0+ - Version Update: Authentication Bypass via Host Header Injection (GHSA-4xpc-pv4p-pm3w)』(2026年6月1日公開)
- [2]Berrie AI Incorporated『LiteLLM v1.84.0 - Reliability hardening + multi-pod budget accuracy』(2026年5月14日公開)
- [3]Berrie AI Incorporated『v1.84.2 - Path-Handling Hardening Backport』(2026年5月27日公開)
- [4]Berrie AI Incorporated『v1.84.3』(2026年5月27日公開)
- [5]Berrie AI Incorporated『v1.85.2 - Path-Handling Hardening Backport』(2026年5月27日公開)
- [6]Berrie AI Incorporated『v1.86.2 - Path-Handling Hardening Backport』(2026年5月27日公開)
- [7]Berrie AI Incorporated『Authentication Bypass via Host Header Injection (GHSA-4xpc-pv4p-pm3w)』(公開日不明、保存記録のみ) 保存記録
関係組織
- [8]Red Hat, Inc.『CVE-2026-49468』(2026年6月22日公開)
公的機関
- [9]CVE Program『CVE-2026-49468 LiteLLM: Authentication Bypass via Host Header Injection』(2026年6月22日公開、2026年7月15日更新)
- [10]National Institute of Standards and Technology『CVE-2026-49468』(2026年6月22日公開、2026年10月25日更新)
調査・観測
- [11]GitLab Inc.『LiteLLM: Authentication Bypass via Host Header Injection』(2026年6月16日公開、2026年7月18日更新)
- [12]Python Packaging Authority『PYSEC-2026-388』(2026年6月29日公開、2026年7月1日更新)
- [13]Cyberpion Ltd.『CVE-2026-49468 – Authentication Bypass – LiteLLM prior to 1.84.0』(2026年6月22日公開)
背景資料
- [16]CVE Program『CVE-2026-48710 Starlette has missing Host header validation that poisons request.url.path, bypassing path-based security checks』(2026年5月26日公開、2026年10月1日更新)
- [17]X41 D-Sec GmbH・Persistent Security Industries・Bintech『BadHost - CVE-2026-48710 Starlette Host-Header Auth Bypass』(公開日不明、2026年11月7日閲覧)
- [18]Horizon3.ai『CVE-2026-42271: LiteLLM Unauthenticated RCE(CVE-2026-42271 Chained with CVE-2026-48710)』(2026年6月1日公開、2026年8月1日更新)
更新記録
- 2026年6月19日:公開した。
- 2026年6月22日:CVE Programが公開したCVE-2026-49468の記録(出典9)、Red Hatの評価(出典8)、NVDの記録(出典10)、IONIXの記録(出典13)を加え、リードと「脆弱性の内容」「時系列」「対象の製品と版」「悪用の状況」を改めた。
- 2026年6月29日:PyPAが公開したPYSEC-2026-388(出典12)を「時系列」に加えた。
- 2026年7月1日:PyPAのPYSEC-2026-388の7月1日の更新版(出典12)に合わせ、「時系列」を改めた。
- 2026年7月15日:CVEの記録の7月15日の更新版(出典9)に合わせ、「脆弱性の内容」を改めた。
- 2026年7月18日:GitLab Advisory Databaseの記録の7月18日の更新版(出典11)に合わせ、「時系列」を改めた。
- 2026年8月1日:Horizon3.aiの報告の8月1日の更新版(出典18)に合わせ、「脆弱性の内容」を改めた。
- 2026年10月1日:StarletteのCVE-2026-48710の記録の10月1日の更新版(出典16)に合わせ、「脆弱性の内容」を改めた。
- 2026年10月25日:NVDの記録の10月25日の更新版(出典10)に合わせ、「脆弱性の内容」の評価の表と「悪用の状況」を改めた。
