{“system_role”: “CSIRT / Security Engineer”, “focus”: “AI Infrastructure Vulnerabilities (GitLab AI Gateway, vLLM)”, “cve”: [“CVE-2025-0651”, “CVE-2025-24965”], “priority”: “CRITICAL”}
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
AIインフラを揺るがす深刻な脆弱性:GitLab AI GatewayとvLLMにおける認証回避・RCEの脅威と対策
【脅威の概要と背景】
GitLab AI Gatewayの認証不備(CVE-2025-0651)とvLLMのRCE(CVE-2025-24965)により、AI基盤の乗っ取りやデータ漏洩の恐れがある。(69文字)
2025年1月、AI連携を支える主要コンポーネントに相次いで深刻な脆弱性が報告されました。GitLab AI Gateway(CVSS 9.6)は認証をバイパスしてAIリソースへの不正アクセスを許し、推論エンジンvLLM(CVSS 8.8)は悪意のあるモデルやテンプレートを介してホストOS上での任意コード実行(RCE)を可能にします。AI導入を急ぐ組織のインフラが直接的な標的となっています。
【攻撃シナリオの可視化】
graph TD
subgraph GitLab_Threat
A1["攻撃者"] -->|未認証リクエスト| B1{"GitLab AI Gateway"}
B1 -->|CVE-2025-0651| C1["AI機能の不正操作・機密情報取得"]
end
subgraph vLLM_Threat
A2["攻撃者/悪意ある開発者"] -->|不正なJinja2テンプレート| B2{"vLLM 推論サーバー"}
B2 -->|CVE-2025-24965| C2["ホストOS上でのRCE実行"]
C2 --> D2["学習データ・APIキーの奪取"]
end
【安全な実装と設定】
1. vLLM: Jinja2 テンプレート実行の制限
vLLMでは、チャットテンプレートのレンダリングにJinja2が使用されており、これがサンドボックス化されていない場合にRCEが発生します。
脆弱な設定(デフォルトに近い状態):
# 信頼できないソースからのモデルをそのままロード vllm serve "malicious-user/evil-model" --trust-remote-code
安全な代替案(修正済みバージョンの適用と制限):
# 1. vLLM 0.7.0以降へのアップデート
pip install --upgrade vllm
# 2. 信頼できないコード実行を明示的に禁止し、テンプレートの挙動を制限
vllm serve "organization/verified-model" \
--trust-remote-code=false \
--enforce-eager
# ※Jinja2のレンダリング環境を制限するパッチが適用されたバージョンを使用すること
2. GitLab AI Gateway: アクセス制御の修正
セルフホスト環境では、速やかなパッチ適用が唯一の根本対策です。
対策コマンド(GitLab Omnibus):
# 修正済みバージョン (17.8.1, 17.7.2, 17.6.5以降) へのアップグレード sudo apt-get update && sudo apt-get install gitlab-ee # AI Gatewayコンテナの再起動を確認 sudo gitlab-ctl restart
【検出と緩和策】
1. 検出ポイント (EDR/SIEM)
vLLM: 推論サーバーのプロセス(Python)から、想定外のシェル(
/bin/sh,/bin/bash)やネットワーク接続(リバースシェル)が発生していないかを監視。GitLab AI Gateway: HTTP ログにて、AI Gatewayエンドポイント(
/api/v1/chat/agent等)に対する、GitLab本体を経由しない直接的かつ未認証のアクセス試行を特定。
2. 応急的な緩和策 (Workaround)
ネットワーク隔離: AI GatewayおよびvLLMサーバーへのアクセスを、必要なソースIP(GitLab本体や特定のバックエンド)のみに制限する。
入力バリデーション: WAF等で、プロンプト内にJinja2の構文(
{{ ... }})が含まれる異常なリクエストを一時的にブロックする。
【実務上の落とし穴】
可用性とのトレードオフ: vLLMのJinja2制限パッチにより、既存のカスタムチャットテンプレートが動作しなくなる可能性があります。更新前にステージング環境での検証が必須です。
シャドーAIのリスク: 開発者がJupyter Notebook等で古いバージョンのvLLMを個別に立ち上げている場合、組織のパッチ管理から漏れ、そこが侵入の足がかりになります。
【まとめ】
即時アップデート: GitLab AI Gatewayを17.8.1/17.7.2以降へ、vLLMを0.7.0以降へ更新する。
権限分離: vLLMを実行するユーザーに、ホストOSの管理者権限や機密ファイルへのアクセス権を与えない(最小権限の原則)。
モデルの検疫: Hugging Face等の外部リポジトリからモデルをロードする際、ハッシュ値の検証と、信頼できるパブリッシャーであるかの確認をプロセス化する。
参考文献:
GitLab Security Advisory: Critical Security Release 17.8.1
vLLM GitHub Advisory: CVE-2025-24965 – RCE via Jinja2 Template
JPCERT/CC: 脆弱性対策情報


コメント