RHSB-2025-001 vLLM 分散 KV キャッシュ機能 - (CVE-2025-47277)
この情報は役に立ちましたか?
エグゼクティブサマリー
vLLM プロジェクトでは、大規模言語モデルを効率的かつ簡単に扱えるライブラリを提供します。特定の vLLM 機能には、安全にデプロイして使用できるように、別途プランニングが必要です。特に、vLLM のノード間の通信はデフォルトでは安全ではなく、ノードを分離ネットワークに限定することでしか保護できません。
この vLLM プロジェクトで脆弱性が見つかりました。この問題には CVE-2025-47277 が割り当てられており、重大度は 中程度 の影響と評価されています。デフォルトでは、Red Hat 製品は vLLM ノードを分離ネットワークに限定するように設定されています。ただし、お客様が特定の設定を変更した場合に、この脆弱性が問題となり、Red Hat 製品に影響を与える可能性があります。
次の Red Hat 製品には vLLM が含まれています。
-
Red Hat AI Inference Server
-
Red Hat Enterprise Linux AI (RHEL AI)
-
Red Hat OpenShift AI (RHOAI)
技術情報
影響を受ける設定
お使いの vLLM デプロイメントが以下の条件をすべて満たしている場合に影響を受けます。
-
vLLM V0 エンジンを使用しており、デフォルトが 0.8.0 以前であった。0.8.0 以降の場合、VLLM_USE_V1 環境変数を 0 に設定して vLLM を実行する必要があります。これは Red Hat 製品のデフォルト設定ではありません。
-
影響を受けるバージョンの vLLM の V0 エンジン 0.6.5 から 0.8.4 (0.84 を含む) で PyNcclPipe 機能を使用している。これは Red Hat 製品のデフォルト設定ではありません。
-
分離された vLLM ノード間通信ネットワーク以外のネットワークにノードが接続されている。Red Hat 製品のデフォルト設定ではマルチノード機能は有効になっていません。
-
信頼されていないネットワークからデータを vLLM サーバーが受信しないように KVTransferConfig の –kv-ip パラメーターを使用している。これは Red Hat 製品のデフォルト設定ではありません。
前述の製品のデフォルト設定をはじめとする、他の設定は影響を受けません。
背景情報
vLLM は、マルチノードシナリオで実行するように設定できます。これにより、複数のホストにまたがる GPU 全体でモデルの実行が分散されますマルチノードシナリオで使用できるもう 1 つのオプションのメカニズムは、KV キャッシュの分散と共有です。
V0 エンジンには、ホスト間で KV キャッシュを転送する実験的なオプションが複数含まれます。これらのオプションの 1 つである PyNcclPipe 実装が、この脆弱性の対象となります。
Red Hat 製品では、マルチノード vLLM デプロイメントはデフォルトでは有効化されていません。
関連リスク
vLLM は、PyTorch Foundation のコミュニティー主導プロジェクトです。vLLM のセキュリティーに対する基本的な方針は、PyTorch の重要な特性を一部引き継いでおり、その内容はこの セキュリティーガイド で説明されています。セキュリティーガイドには、マルチノード通信は専用ネットワーク上に分離する必要があると記されています。この方針では、セキュリティー環境を確保する責任は管理者にある前提で、パフォーマンスの最適化を特に重視しています。
PyNcclPipe の脆弱性
KVTransferConfig には、Operator が KV キャッシュをバインドするネットワークインターフェイスを指定できるようにする --kv-ip CLI パラメーターが含まれています。ただし、PyNcclPipe を使用する場合、このパラメーターは無視され、代わりに 0.0.0.0 にバインドされ、すべてのネットワークインターフェイスで公開されます。vLLM ノードが信頼できないネットワークを含む複数のネットワークに接続されている環境では、この動作が原因で、信頼できないネットワークにおいて攻撃者がサーバーで任意のコマンドを実行できる可能性があります。
Red Hat 製品は、ネットワークインタフェイス 1 つだけの Pod 内にコンテナーとして vLLM をデプロイするため、効果的なアクセス制限手段として –kv-ip パラメーターを使用できません。Pod 内のネットワークアプリケーションに対するアクセス制御は、OpenShift 環境の NetworkPolicy オブジェクトを使用するか、Podman を用いて専用の分離ネットワークを構築することで制限する必要があります。
提言
V0 エンジンの KV キャッシュ転送は実験的なものであり、実稼働環境での使用は推奨されません。この種の機能に興味がある方は、最近発表された llm-d プロジェクトの動向をご確認いただくことを推奨します。
謝辞
この問題は、以下の 3 組の関係者により個別に報告されました。
-
@kikayli (Zhuque Lab, Tencent)
-
Russell Bryant (Red Hat)
Comments