vLLM の 脆弱性 CVE-2025-47277 (CVSS 9.8) が FIX:不適切なデータ処理による RCE の恐れ

Critical CVSS 9.8 RCE Flaw in vLLM Exposes AI Hosts to Remote Attacks

2025/05/21 SecurityOnline — 大規模言語モデル (LLM) 向けの高性能推論/サービング・エンジンである vLLM に、深刻な脆弱性 CVE-2025-47277 が存在することが公表された。この脆弱性は、PyNcclPipe 通信サービスにおける安全が確保されないデシリアライズ処理に起因し、リモート・コード実行 (RCE) を可能にするものであり、CVSS スコア 9.8 が割り当てられている。

UC Berkeley の Sky Computing Lab により開発された vLLM だが、現在はコミュニティ主導で開発/保守されている。LLM 推論とサービングのための高速で使いやすいライブラリとして提供され、分散展開や高度な KV キャッシュ管理をサポートし、産業規模の LLM インフラストラクチャと統合されている。

この脆弱性は、分散ノード間で P2P (peer-to-peer) 通信を用いて KV キャッシュ転送を行う、PyNcclPipe クラスに存在する。CPU 側のメッセージ転送処理において、この Python の pickle モジュールにより、データのシリアライズとデシリアライズが行われる。

アドバイザリによると、「PyNcclPipe の実装に存在する深刻な欠陥は、クライアントから提供されたデータを、pickle.loads を用いてダイレクトに処理するというものである。それにより、安全が確保されないデシリアライズの脆弱性がトリガーされ、リモート・コード実行につながる恐れがある」と説明されている。

したがって、実行中の PyNcclPipe サービスに対して、悪意のオブジェクトを送信する攻撃者は、この脆弱性を悪用し、ホスト上で任意のシステム・コマンドを実行し、サーバの完全な制御を奪取できるという。

この問題の根本原因は、PyTorch の TCPStore バインディング動作にも起因する。PyTorch のデフォルト・コンフィグでは、指定された IP アドレスに関係なく、TCPStore インターフェイスが、すべての通信をリッスンする仕様となっている。

すでに vLLM 側では、指定されたプライベート・インターフェースだけをバインドするという回避策が実装され、露出リスクの軽減が図られている。ユーザーに対して強く推奨されるのは、vLLM v0.8.5 へと、速やかにアップデートすることだ。