LiteLLMのHostヘッダーによる認証回避CVE-2026-49468

タグ
国外
目次
  1. 脆弱性の内容
    1. Starletteの脆弱性との関係
  2. 時系列
  3. 対象の製品と版
  4. 悪用の状況
  5. 修正と回避策
  6. 未公表の事項
  7. 注
  8. 出典
  9. 更新記録
  10. 関連記事

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]。

表1:CVE-2026-49468の評価
項目値示した組織資料
CVSS 4.09.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.19.8(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)NVD⁠[10]
CVSS 3.18.1(深刻度Important、AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)Red Hat⁠[8]
CVSS 3.110.0IONIX⁠[13]
CWECWE-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年5月14日LiteLLMv1.84.0のリリースノートを出した⁠[2]
2026年5月26日-StarletteのCVE-2026-48710が公開された⁠[16]
2026年5月27日LiteLLMパス処理の強化を取り込んだv1.84.2・v1.85.2・v1.86.2と、v1.84.2をDockerfileだけ作り直したv1.84.3のリリースノートを出した⁠[3、4、5、6]
2026年5月30日-CVE-2026-49468が予約された⁠[9]
2026年6月1日LiteLLMブログで今回の認証回避を告知した⁠[1]
2026年6月16日GitLabGitLab Advisory Databaseに掲載した⁠[11]
2026年6月22日-CVE-2026-49468の記録が公開された⁠[9]
2026年6月29日PyPA同じ脆弱性をPYSEC-2026-388として公開した⁠[12]

目次へ

対象の製品と版

表2:影響を受ける版と修正版
製品影響を受ける版修正版資料
litellm(プロキシサーバー)1.84.0未満1.84.0⁠[9]
LiteLLMのPython SDK影響を受けない-⁠[1]
LiteLLM Cloud顧客に影響なし(公表の前に全環境へ更新を展開)-⁠[1]

開発元の告知では、回避の可能性は3つの条件をすべて満たす配置に限られていた⁠[1]。

  • LiteLLMのプロキシサーバーを動かしている⁠[1]
  • v1.84.0より前の版を使っている⁠[1]
  • プロキシのリスナーに信頼できないクライアントが到達できる⁠[1]

リスナーがプライベートネットワークに結び付けられているか、独自の認証を求めるゲートウェイの後ろにあるなど、信頼できないクライアントが到達できなければ、回避の可能性に対して開かれていない⁠[1]。

表3:配布元の対応状況
配布元状態修正版・アドバイザリ資料
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]。

  1. v1.84.0以降の版に更新する(推奨は最新の版)⁠[1]。
  2. 影響のある版で信頼できないネットワークからプロキシに到達できた場合は、露出の期間に作られたAPIキーをローテーションし、管理の監査ログで想定外のキー・ユーザー・設定の変更を確かめる⁠[1]。
  3. すぐに更新できない場合は、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〕開発元の告知はCVEの欄で、StarletteのCVE-2026-48710の記録にリンクしている⁠[1]。CVEの記録とNVDでは、この脆弱性はCVE-2026-49468である⁠[9、10]。

出典

当事者

関係組織

  • [8]Red Hat, Inc.『CVE-2026-49468』(2026年6月22日公開)

公的機関

調査・観測

背景資料

更新記録

  • 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)に合わせ、「脆弱性の内容」の評価の表と「悪用の状況」を改めた。

目次へ