LiteLLMの脆弱性CVE-2026-42271の悪用

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

LiteLLMでMCPサーバーを保存前に試す2つのエンドポイントはロールを確かめず、有効なプロキシのAPIキーを持つ利用者ならホストで任意のコマンドを実行できた(CVE-2026-42271)⁠[4]。CISAは、この脆弱性を既知の悪用された脆弱性(KEV)のカタログに加えた⁠[4、5]。その後、Wiz、Microsoft、CounterCraftがLiteLLMを狙った攻撃の観測を報告した⁠[11、12、13]。

脆弱性の内容

LiteLLMの文書では、LiteLLMは100以上のLLMをOpenAIの形式の単一のインターフェースで呼べるオープンソースのライブラリで、仮想キー・費用の追跡・管理UIを備えたセルフホストのLLM Gateway(Proxy)を持つ⁠[7]。開発元のBerrie AI Incorporatedは、2023年に創業したサンフランシスコの会社である⁠[9]。

CVE Programの2026年5月8日の記録では、POST /mcp-rest/test/connectionとPOST /mcp-rest/test/tools/listの2つのエンドポイントが、stdioトランスポートで使うcommand・args・envを含むサーバーの設定全体をリクエストの本文で受け付けた⁠[4]。stdioの設定で呼ばれると接続を試み、与えられたコマンドをプロキシのホストで、プロキシのプロセスの権限の子プロセスとして起動した⁠[4]。低い権限の内部利用者のキーを持つ者も、この方法でコマンドを実行できた⁠[4]。

表1:CVE-2026-42271の評価
項目値資料
CVECVE-2026-42271(勧告GHSA-v4p8-mg3p-g94g、CNAはGitHub_M)⁠[4]
CVSS(CNA)8.7(v4.0、HIGH)⁠[4]
CVSS(Red Hat)8.8(v3.1、Important)⁠[3]
CWECWE-77(コマンドインジェクション)、CWE-78(OSコマンドインジェクション)⁠[4]
CISAのSSVCの評価Exploitationがactive、Automatableがno、Technical Impactがtotal⁠[4]

LiteLLMは4月21日の告知で、stdioのMCPサーバーを追加するとcommandの値がそのままStdioServerParametersに渡り、プロキシのホストで子プロセスとして実行されたと説明した〔注1〕⁠[1]。影響を受ける面には、MCPサーバーの作成・更新、2つのテスト用エンドポイント、実行時に設定かDBから再構成されるサーバーを挙げた⁠[1]。テスト用エンドポイントは、何も保存せずにコマンドを実行させる最も容易な経路だったとした⁠[1]。LiteLLMは、認証されていない利用者には悪用できなかったと説明し、開示者としてOX Securityの研究チームを挙げた⁠[1]。

Starletteの脆弱性との連鎖

LiteLLMの6月1日の告知では、プロキシのHostヘッダーによる認証回避(GHSA-4xpc-pv4p-pm3w、CVE-2026-48710)に対処した更新はv1.84.0で出た⁠[8]。細工したHostヘッダーで認証のゲートが実際に応答するルートと異なるルートを評価し、保護された管理用ルートに認証なしでアクセスされるおそれがあった⁠[8]。原因は、StarletteがHostヘッダーから組み立てるrequest.url.pathからルートを導いていたことだった⁠[8]。

LiteLLMは、影響を受けるのはv1.84.0より前の版でプロキシサーバーを動かし、そのリスナーに信頼できないクライアントが届く場合(Python SDKだけの利用は含まない)だとした⁠[8]。LiteLLM Cloudの顧客には影響がなかったと説明した⁠[8]。

Horizon3.aiの報告によると、同社の研究者は、CVE-2026-42271をCVE-2026-48710(BadHost)と連鎖させると認証の要件を完全に回避できることを確かめた⁠[10]。回避が成り立つのは依存関係にStarlette 1.0.0以下を含むLiteLLMの展開で、認証情報なしのリモートコード実行になるとした⁠[10]。Horizon3.aiは連鎖の深刻度をCVSS 10.0(Critical)と評価した⁠[10]。CVE-2026-48710単体のCVSSを、The Hacker Newsは6.5と伝えた⁠[15]。

The Hacker Newsは9月3日の記事で、CISAがCVE-2026-48710を含む7件をKEVに加えたと報じた⁠[16]。StarletteとLiteLLMの脆弱性への対応期限は9月16日だった⁠[16]。

目次へ

時系列

時系列
日付主体内容資料
2026年4月15日OX SecurityAnthropicのMCP SDKのstdioトランスポートのコマンドインジェクションを扱う勧告を公表した⁠[1]
2026年4月18日LiteLLMv1.83.7-stableを公開し、リリースノートにMCP stdioトランスポートによる任意のコマンド実行を防ぐ変更(PR #25343)を載せた⁠[2]
2026年4月21日LiteLLMMCP stdioのコマンドインジェクションの修正を告知した⁠[1]
2026年5月8日CVE ProgramCVE-2026-42271を公開した⁠[4]
2026年6月1日LiteLLMHostヘッダーによる認証回避CVE-2026-48710に対処した更新を告知した⁠[8]
2026年6月1日Horizon3.aiCVE-2026-48710との連鎖で認証なしのリモートコード実行になることを確かめたと発表した⁠[10]
2026年6月8日CISACVE-2026-42271をKEVに加え、対応期限を2026年6月22日とした⁠[5]
2026年6月22日〜25日Red HatOpenShift AI 3.4・2.25・3.3の修正を出した⁠[3]
2026年8月26日MicrosoftLiteLLMゲートウェイを起点とする攻撃者の活動の観測を公表した⁠[12]
2026年8月27日WizハニーポットでのLiteLLMへの悪用の観測を公表した⁠[11]
2026年10月21日CounterCraft囮のホストでの悪用と、攻撃者による許可リストの改変の記録を公表した⁠[13]

目次へ

対象の製品と版

CVE記録では、影響を受けるのはlitellmの1.74.2以上1.83.7未満の版である⁠[4]。LiteLLMは告知で、修正はv1.83.6-nightly以降のすべてのリリースに入り、v1.83.7-stableが修正を含む最初の安定版だと説明した⁠[1]。

Red Hatは、この脆弱性をAnsible Automation PlatformやOpenShift AIなどの同社製品に組み込まれたLiteLLMに影響する、深刻度Importantの欠陥と説明した⁠[3]。

表2:Red Hat製品の対応
製品状態修正版・アドバイザリ資料
Red Hat OpenShift AI 3.4(rhoai/odh-trustyai-garak-lls-provider-dsp-rhel9)修正版ありRHSA-2026:27784⁠[3]
Red Hat OpenShift AI 2.25(rhoai/odh-llama-stack-core-rhel9)修正版ありRHSA-2026:28960⁠[3]
Red Hat OpenShift AI 3.3(rhoai/odh-llama-stack-core-rhel9)修正版ありRHSA-2026:30056⁠[3]
Ansible Automation Platform 2(lightspeed-chatbot-rhel9の2件)影響なし(Not affected)-⁠[3]
Exploit Intelligence影響なし(Not affected)-⁠[3]
Red Hat OpenShift AI(odh-mlflow-rhel9)影響なし(Not affected)-⁠[3]

目次へ

悪用の状況

NVDに載った米サイバーセキュリティ・インフラストラクチャ安全保障庁(CISA)の項目によると、KEVが求める対応は、ベンダーの指示に従う緩和策の適用、クラウドサービスではBOD 22-01の指針に従うこと、緩和策が無ければ製品の使用の中止である⁠[5]。

Help Net Securityは6月9日の記事で、CVE-2026-42271が使われた攻撃の詳細は出ておらず、攻撃者が同時にCVE-2026-48710を悪用している確認もないと報じた⁠[14]。

Wizの8月27日の報告では、同社のハニーポットで、LiteLLMに対するMCP関連の2種類の脆弱性(MCPゲートウェイの認証回避と、MCPサーバーのテスト用エンドポイントのコマンドインジェクション)の悪用を観測した⁠[11]。攻撃者は偽のMCP stdioサーバーの設定を送り、commandにクリプトマイナーをダウンロードして実行するPythonスクリプトを入れた⁠[11]。そのうえで正しいMCPのハンドシェイクを返し、接続テストを成功したように見せた⁠[11]。マイナーはメモリ上で動き続け、ディスクには調べる手がかりがほとんど残らないとWizは書いた⁠[11]。

Wizは、外部の研究者がQilinランサムウェアのグループをこの連鎖の悪用と結び付けたとも書いた〔注2〕⁠[11]。

Microsoftの報告によると、LiteLLMゲートウェイの文脈で観測した攻撃者の活動は、Pythonのドロッパー、実行時の秘密情報の収集、PostgreSQLの収集、マイナーの展開、永続化だった⁠[12]。初期侵入は露出したLiteLLMゲートウェイの悪用による可能性が高く、CVE-2026-42271とCVE-2026-48710の連鎖と整合するとMicrosoftは評価した⁠[12]。攻撃者は収集したデータベースの接続文字列で、Azure Database for PostgreSQL上のLiteLLMのデータ層に入った⁠[12]。

CounterCraftの10月21日の報告では、1日目に攻撃者が、CVE-2026-42271に脆弱なLiteLLMプロキシを動かす囮(deception)のホストを悪用した⁠[13]。テスト接続のエンドポイントは許可リストにあるstdioのコマンドを起動し、python3が許可リストにあった⁠[13]。攻撃者は自前のMCPサーバーを登録してLiteLLMのtools/callのAPIでホストを操作し、環境と設定ファイルからLLMの提供元のキーとデータベースの設定を集めた⁠[13]。

CounterCraftは、攻撃者がLiteLLMのconstants.pyにstdioの許可リストを空にする2行を足したと書いた⁠[13]。この変更の2分後に別の攻撃者が同じエクスプロイトを送り、422の応答を2回受けた⁠[13]。

表3:観測された侵害の痕跡
種別値示した組織資料
登録されたMCPサーバーの名前wv8pwnCounterCraft⁠[13]
constants.pyに足された注釈# security hotfix 2026-10-11: stdio MCP transport commands disabled (CVE-2026-42271)CounterCraft⁠[13]
authorized_keysへの追記rootとサービスアカウントのauthorized_keysに加えたSSHの認証局の行CounterCraft⁠[13]
永続化の痕跡サービスアカウントのauthorized_keysへの書き込みMicrosoft⁠[12]
狙われたテーブルLiteLLM_ProxyModelTable、LiteLLM_VerificationTokenMicrosoft⁠[12]

目次へ

修正と回避策

LiteLLMは4月21日の告知で、PR #25343(commit 7b7f304)の修正の中身を挙げた⁠[1]。

  • stdioのcommandを既知のMCPの起動コマンド(npx、uvx、python、python3、node、docker、deno)に限る許可リストMCP_STDIO_ALLOWED_COMMANDSを設け、環境変数LITELLM_MCP_STDIO_EXTRA_COMMANDSで追加できるようにした⁠[1]。
  • NewMCPServerRequestとUpdateMCPServerRequestが、許可リストに無いcommandの設定を受け付けないようにした⁠[1]。
  • stdioのクライアントを作るときにもcommandを再検証し、許可リストより前のDBの行や設定から再構成したサーバーも起動時に止めるようにした⁠[1]。
  • 2つのテスト用エンドポイントに、PROXY_ADMINのロールを求めるようにした⁠[1]。

同じ告知によると、利用者への推奨は3つあった⁠[1]。

  1. v1.83.7-stable以降に更新する(nightlyではv1.83.6-nightly以上が修正済み)⁠[1]。
  2. 既存のstdioのMCPサーバーを点検する(許可リストに無いcommandの行は起動に失敗する)⁠[1]。
  3. PROXY_ADMINを持つ者を見直す(管理者以外にMCPのテストを任せていた場合、その利用者は403を受ける)⁠[1]。

Horizon3.aiは、LiteLLMを1.83.7以降に、Starletteを1.0.1以降に更新するよう勧めた〔注3〕⁠[10]。すぐに更新できない場合は、テスト用エンドポイントへのアクセスの遮断、信頼できるセグメントへのネットワークの制限、プロキシが保持する認証情報の入れ替え、ログの確認を挙げた⁠[10]。

LiteLLMのMCP Gatewayの文書では、stdioのMCPサーバーは既定で無効で、プロキシをLITELLM_ENABLE_MCP_STDIO=trueの環境で起動したときだけ有効になる⁠[6]。無効の間はUIでstdioを選べず、stdioのサーバーの作成・更新はエラーを返し、既存のstdioのサーバーは起動しない⁠[6]。

目次へ

未公表の事項

  • CISAがKEVに加えた根拠となった悪用の観測
  • 悪用の件数と被害を受けた組織
  • Qilinランサムウェアとの結び付きの根拠と、それを示した外部の研究者

注

  • 〔注1〕LiteLLMは告知で、同じ2つのエンドポイントの修正をCVE-2026-30623として説明し、深刻度をCriticalとした⁠[1]。
  • 〔注2〕The Hacker Newsは、Wizによると、Qilin(Agenda)ランサムウェアに関係する攻撃者がこの連鎖の悪用と結び付けられたと報じた⁠[16]。
  • 〔注3〕Horizon3.aiは時系列で、LiteLLMが修正版を公開した日を5月8日とした⁠[10]。

出典

関係組織

公的機関

調査・観測

報道機関

背景資料

  • [6]BerriAI『MCP Gateway』(公開日不明、2026年11月4日閲覧)
  • [7]BerriAI『Getting Started』(公開日不明、2026年11月4日閲覧)
  • [9]Berrie AI Incorporated『About LiteLLM』(公開日不明、2026年11月4日閲覧)

更新記録

  • 2026年6月9日:公開した。
  • 2026年7月15日:CVE Programの記録の7月15日の更新(出典4)に合わせ、「脆弱性の内容」の表を改めた。
  • 2026年8月1日:Horizon3.aiの報告の8月1日の更新(出典10)に合わせ、「脆弱性の内容」のStarletteの脆弱性との連鎖の小節と「修正と回避策」を改めた。
  • 2026年8月26日:Microsoftの報告(出典12)で示された攻撃者の活動と痕跡を「悪用の状況」と「時系列」に加えた。
  • 2026年8月27日:Wizの報告(出典11)で示されたハニーポットでの悪用を「悪用の状況」と「時系列」に加え、Qilinランサムウェアとの結び付きを「未公表の事項」に加えた。
  • 2026年9月3日:The Hacker Newsの記事(出典16)が伝えたCVE-2026-48710のKEVへの追加を「脆弱性の内容」に、Qilinランサムウェアについての報道を「注」に加えた。
  • 2026年10月21日:CounterCraftの報告(出典13)で示された囮のホストでの悪用と痕跡を「悪用の状況」と「時系列」に加え、リードの最後の文を改めた。
  • 2026年10月23日:CounterCraftの報告の10月23日の更新(出典13)に合わせ、「悪用の状況」を改めた。
  • 2026年10月26日:NVDの記録の10月26日の更新(出典5)に合わせ、「悪用の状況」のKEVが求める対応を改めた。

目次へ