LiteLLMの脆弱性、内部ユーザーが管理者に昇格するおそれ。KEVの認証不備と不正な1.107.0もバージョンで確かめる
CVE-2026-114612複数のAIサービスのAPIを1つの窓口にまとめるLiteLLMのプロキシで、内部ユーザーの権限から管理者に昇格し、ホスト上でコマンドを実行できる脆弱性(CVE-2026-114612)が、2026年9月30日にLiteLLMから公表されました。LiteLLMでは、MCPの認証不備(CVE-2026-59822)が9月2日に米CISAの悪用確認の一覧(KEV)に載り、10月21日には中身を差し替えた不正な1.107.0が約2時間配布されました。どれに当たるかは、使っている版で切り分けます。
- CVE-2026-114612の対象は、1.91.0以降の各系列の修正前の版です。修正版は1.100.4・1.101.3・1.102.2・1.103.1で、1.104.0以降は対象外です。1.87〜1.90系も、
EXPERIMENTAL_UI_LOGIN=trueにしていれば悪用できます。 - KEVに載ったCVE-2026-59822は1.84.0より前が対象で、認証なしでMCPのツールを呼び出されるおそれがあります。
- 10月21日の1.107.0は脆弱性ではなく、不正なコードを含む配布物です。入れた環境は、更新だけでは足りず、ファイルの削除と認証情報の交換が要ります。
- 上げる先は、提供元が示した1.106.2以降の版を
==で固定します。11月1日時点で、PyPIの1.106系の最新は1.106.6です。
01LiteLLMの脆弱性2件で起きることと仕組み
今回の2件の脆弱性は、どちらもLiteLLMのプロキシの認証の問題です。[1][2]
CVE-2026-114612は、internal_userの権限を持つ利用者がproxy_adminに昇格できる問題です。公式の説明では、プロキシは保存する秘密情報の暗号化と、セッションのトークンの発行に同じ鍵を使っていました。偽の管理者情報を入れたAPIキーを作らせ、暗号化されて返った値をトークンとして示すと、管理者として扱われます。管理者になると、MCPのstdioのエンドポイントからホスト上でコマンドを実行できます。深刻度はLiteLLMの評価でCVSS 3.1の9.9(緊急)で、GitHub Advisory DatabaseはCVSS 4.0の7.7も付けています。[1][3]
CVE-2026-59822は、MCPのStreamable HTTPのエンドポイントで、LiteLLMのキーの確認に失敗しても、空の認証情報で処理が続いた問題です。任意のBearerトークンを付けた認証なしの要求で、設定済みのMCPのツールを一覧・呼び出しできるおそれがあります。深刻度はLiteLLMの評価でCVSS 4.0の8.8、NVDの評価でCVSS 3.1の8.2(重要)です。[2][4]
2件とも、プロキシの認証の不備から管理者の操作やMCPのツールに届く
LiteLLMのアドバイザリにある2件の仕組みを、入口・認証の不備・起きることの順に並べる。
LiteLLMのプロキシの認証
出典 LiteLLM「GHSA-7hp6-4w63-5g45」(2026-09-30)、同「GHSA-7488-6r32-c95q」(2026-07-01)
02LiteLLMの脆弱性の影響を受ける条件
0310月21日の不正な1.107.0は、脆弱性とは別に確かめる
10月21日の件は、コードの不具合ではなく、配布物の差し替えです。LiteLLMの告知によると、PyPIの1.107.0は日本時間の20時39分から22時23分まで公開されていました。Docker HubとGHCRのイメージ(タグはv1.107.0、latest、main-latest、main-stable)も、20時46分から最長で23時20分まで不正なものを指していました。GitHubのv1.107.0のソースに不正なファイルは無く、プライベートのエンタープライズ版も影響を受けていないと説明しています。侵入の経路は、10月23日の続報で一部が訂正されています。[5][7]
不正なファイルはPythonの起動時に読み込まれるため、LiteLLMを読み込まないプログラムでも動きます。提供元は、外部に通信できる環境で1.107.0を入れた場合は持ち出しが成功したと考えるよう求めています。その環境から届く認証情報(クラウドの権限、プロキシのデータベースに保存した各社のAPIキー、マスターキーと発行したキー、DATABASE_URLのパスワードなど)はすべて交換します。ファイルが見つからないことは、安全の証明にならないとも書いています。不正なイメージは古い鍵の有効な署名を持つため、署名だけでは判断できません。[5]
11月1日時点のPyPIでは1.107.0は取得できず、1.107系は開発版と候補版(1.107.0rc1・rc2)だけです。提供元は、それより前の版は安全だと説明しています。3月24日にも1.82.7と1.82.8が不正に公開され、削除されました。[5][6][8]
04LiteLLMの脆弱性の悪用の状況
今回の権限昇格(CVE-2026-114612)は、2026年11月1日時点で、米国のCISAが公開している「悪用が確認された脆弱性の一覧(KEV)」に載っていません。一方、同じLiteLLMのプロキシでは、ほかの脆弱性がKEVに載っています。[9]
同じLiteLLMでKEVに載っているのは、SQLインジェクション(CVE-2026-42208、5月8日)、コマンド実行(CVE-2026-42271、6月8日)、MCPの認証不備(CVE-2026-59822、9月2日)の3件で、いずれも1.84.0以降で直っています。CVE-2026-114612の今後30日に悪用される見込みの推定(EPSS)は0.3%です(10月31日時点)。アドバイザリは手口を文章で説明していますが、再現用のコード(PoC)の公開は確認できていません。[9][13]
KEVに載ったのは9月2日の認証不備で、9月30日公表の権限昇格は11月1日時点で載っていない
LiteLLMの公表、不正な配布、データベースへの登録の日付を並べる(日本時間)。
2026年9月2日
9月30日
10月21日
10月23日
10月28日
11月1日
出典 米CISA「Known Exploited Vulnerabilities Catalog」(2026-10-30版)、LiteLLM「GHSA-7hp6-4w63-5g45」(2026-09-30)
05攻撃を受けていないかの確認
KEVに載っている3件は1.84.0より前の版が対象です。1.84.0より前の版をインターネットから届く状態で動かしていた場合は、更新に加えて、更新前に攻撃を受けていないかを確認します。
- 公開していた期間のWebサーバー・アプリケーションのログで、異常終了や不審な要求がないか確認します。
- 見覚えのないファイル(Webシェルなど)や、設定・アカウントの変更がないか確認します。
- サーバーから見覚えのない宛先への通信がないか確認します。
- 痕跡が見つかった場合は、ログや機器の状態を保全し、専門の窓口に相談します。
06LiteLLMの対象の版と推奨する版
問題ごとの対象のバージョンと、直った版・扱いは次のとおりです。
2件の脆弱性は、1.104.0以降の正式版ならどちらも直っています。KEVに載っているLiteLLMの3件も、1.84.0以降で直っています。そのうえで不正な配布物を避けるため、提供元が示した1.106.2か、それ以降に公開された版を==で固定し、1.107.0は使いません。[1][2][5][9]
プロキシとして使う場合は、下で動くStarletteの版も確かめます。1.84.0〜1.87系はFastAPIを0.124.4に固定しているため、Starletteが、脆弱性BadHost(CVE-2026-48710)の直った1.0.1に上がりません。1.88.0以降はStarlette 1.0.1以上を求めます。Starletteの確かめ方はStarletteのBadHostの記事で説明しています。[10][11]
| 問題 | 対象のバージョン | 直った版・扱い |
|---|---|---|
| 権限昇格(CVE-2026-114612) | 1.91.0以降の各系列の修正前(初期設定のまま) | 1.100.4、1.101.3、1.102.2、1.103.1、1.104.0rc2。1.104.0以降は対象外 |
| 同(設定したときだけ) | 1.87〜1.90系でEXPERIMENTAL_UI_LOGIN=true | この系列の修正版は記載なし(出典で確認) |
| MCPの認証不備(CVE-2026-59822、KEV) | 1.84.0より前 | 1.84.0 |
| 不正な配布物(10月21日) | 1.107.0(PyPIとDockerイメージ) | 削除済み。提供元は1.106.2への固定を案内 |
| 不正な配布物(3月24日) | 1.82.7、1.82.8 | 削除済み |
脆弱性2件は1.104.0以降で直り、不正な配布物は1.106.2以降の固定で避ける
問題ごとの対象の版と、直った版・扱いを並べる。
出典 LiteLLM「GHSA-7hp6-4w63-5g45」(2026-09-30)、同「Oct 21, 2026 LiteLLM release v1.107.0 Compromised」(2026-10-21)
07LiteLLMのバージョンを確かめて上げる手順
稼働中の環境で、LiteLLMの版を確認します。1.107.0、1.82.7、1.82.8なら、更新の前に手順3へ進みます。
ターミナルpython -m pip show litellmDockerで使っている場合は、イメージの識別値(digest)を確認します。提供元は、
sha256:1bbcb1443bc962e45f5aad53fe3d2c30600e0379715fb6c664cdd3ac126c339eのイメージを動かしたコンテナを、侵害されたものとして扱うよう求めています。[5]ターミナルdocker images --digests | grep -i litellm1.107.0を入れた環境では、先に
pip installを実行しません。site-packagesのcook.pth、cook.py、sitecustomize.pyとそれぞれの.pycを消し、/tmp/remote_code_loader.lockを持つPythonのプロセスを止めます。提供元は、環境を作り直すほうがよいとしています。[5]ターミナルfind / -path '*site-packages/*' \( -name 'cook.pth' -o -name 'cook.py' -o -name 'sitecustomize.py' -o -name 'litellm-1.107.0.dist-info' \) 2>/dev/null ls -l /tmp/remote_code_loader.lock版を固定して入れ直します。提供元が名指しで案内している1.106.2に固定します。11月1日時点のPyPIには、告知の後に公開された1.106.6もありますが、提供元はこの版を名指ししていません。[5][6]
ターミナルpython -m pip install "litellm[proxy]==1.106.2"requirements.txt・poetry.lock・uv.lockに古い版や1.107.0が残っていないかを確かめ、もう一度版を確認します。
ターミナルgrep -n -i 'litellm' requirements*.txt poetry.lock uv.lock python -m pip show litellm
08すぐ上げられないときの回避策
提供元のアドバイザリが示す回避策は次の2つです。CVE-2026-114612では、EXPERIMENTAL_UI_LOGIN=falseにすると問題の認証の経路が無効になります。ただし、CLIのSSOとClaude Codeのゲートウェイのログインが使えなくなります。CVE-2026-59822では、MCPの経路を無効にするか、リバースプロキシやAPIゲートウェイで/mcp/などへの接続を止めます。[1][2]
管理画面とAPIを社内のネットワークからだけ使えるようにすることも、届く経路を減らします。これは当社の整理で、提供元が示した回避策ではありません。
脆弱性の公表・更新一覧で、Pythonの関連情報を調べることもできます。

よくある質問
LiteLLMをSDKとして使っているだけでも対象ですか?
2件の脆弱性は、アドバイザリがプロキシの機能として説明しているもので、SDKだけの使い方についての記載はありません。不正な1.107.0は使い方を問わず、入れた後にPythonを起動すると動くため、SDKでも版の確認が要ります。[1][2][5]
KEVに載っているのは、今回の権限昇格ですか?
KEVに載っているLiteLLMの脆弱性は、CVE-2026-59822を含む3件です。CVE-2026-114612は、11月1日時点で載っていません。どちらも1.104.0以降の版では直っています。[9]
1.107.0を入れていなければ、何もしなくてよいですか?
不正な配布物の対象からは外れます。脆弱性は別の話なので、使っている版が各系列の修正版以上かを確かめます。3月の1.82.7・1.82.8も確かめます。
出典・参考資料
- LiteLLM公式:GHSA-7hp6-4w63-5g452026-09-30 / 権限昇格の仕組み、対象(1.91.0以降、1.87〜1.90系は設定時)、修正版、回避策、CVSS 3.1 9.9(LiteLLMの評価)
- LiteLLM公式:GHSA-7488-6r32-c95q2026-07-01 / MCPの認証不備の仕組み、対象(1.84.0より前)、修正版、回避策、CVSS 4.0 8.8
- GitHub Advisory Database:GHSA-7hp6-4w63-5g452026-10-28収録(日本時間) / CVE番号、CVSS 4.0 7.7、系列ごとの影響範囲、収録日
- NVD:CVE-2026-598222026-07-09登録(日本時間) / NVDの評価 CVSS 3.1 8.2
- LiteLLM公式ブログ:Oct 21, 2026 LiteLLM release v1.107.0 Compromised2026-10-21(米国時間の掲載日) / 不正な1.107.0の公開時間、Dockerのタグとdigest、残るファイル、対応の手順、1.106.2への固定、署名の扱い
- PyPI:litellmの配布履歴2026-11-01確認 / 1.107.0・1.82.7・1.82.8が無いこと、修正版と1.106.6の公開日
- LiteLLM公式ブログ:The attack chain behind the v1.107.0 LiteLLM release2026-10-23(米国時間の掲載日) / 侵入の経路の続報と訂正
- LiteLLM GitHub:Issue #24518(3月の不正な公開)2026-03-24 / 1.82.7・1.82.8の削除(LiteLLMチームの追記)
- 米CISA:Known Exploited Vulnerabilities Catalog(JSON版 2026.10.30)2026-11-01取得(版2026.10.30) / LiteLLMのKEV掲載3件(CVE-2026-42208 5月8日、CVE-2026-42271 6月8日、CVE-2026-59822 9月2日)、CVE-2026-114612が無いこと
- PyPI:litellm 1.84.02026-05-14 / プロキシの依存でFastAPIを0.124.4に固定(1.84.10・1.85.7・1.86.7・1.87.5も同じ)
- PyPI:litellm 1.88.02026-06-06 / プロキシの依存でStarlette 1.0.1以上を指定
- NVD:CVE-2026-1146122026-10-23登録(日本時間) / 登録日、採番機関(GitHub)の評価 CVSS 3.1 9.9、NVDの評価は未実施
- FIRST:EPSS(CVE-2026-114612)2026-10-31 / 今後30日に悪用される見込みの推定 0.3%
あわせて読みたい記事
Brotliの脆弱性の確認方法、PythonとNode.jsで対象かを確かめて直す(CVE-2026-111497、コード実行のおそれ)
圧縮形式Brotliの展開処理の脆弱性CVE-2026-111497(HTTP2Shell)は、米CISAが悪用を確認しています。Pythonのbrotli・brotlicffi、Node.jsの同梱版などで、自分の版と構成が対象かを確かめる方法と修正版を、言語ごとに説明します。
Starletteの脆弱性BadHost、Hostヘッダーでパスによる認証の確認を回避されるおそれ。FastAPIを上げても古い版が残る場合の確かめ方
Starletteの脆弱性CVE-2026-48710(BadHost)は、細工したHostヘッダーでrequest.url.pathを偽り、パスで判定するアクセスの確認を回避されるおそれがあります。9月2日にKEVに追加されました。FastAPI・vLLM・LiteLLMの下で古いStarletteが残る例と、間接依存の確かめ方を説明します。
TwistedのHTTP/2の脆弱性、1接続でCPUを使い切らせるおそれと、HTTP/2が有効かの確かめ方・26.10.0への更新(GHSA-vpp8-g58w-m8mp)
Python向けTwistedのHTTP/2サーバーに、認証なしの1接続でCPUを使い切らせる脆弱性があり、10月30日に正式版26.10.0で直りました。HTTP/2が動く条件(h2とTLS)の確かめ方、修正の効き方、CVE番号の扱い、Python 3.9の環境での注意を説明します。