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 へと、速やかにアップデートすることだ。
安全が確保されないデシリアライズの脆弱性という、AI に限定されない問題が、この vLLM にも発生したようです。その一方で、PyTorch にも関連する問題の方は、この世界に固有のものという感じがします。昨日にポストした 「Microsoft Windows 11 に MCP を統合:OS を AI agentic プラットフォームに変革する?」も、AI で使用するデータの、安全な収集方法に関するものでした。よろしければ、カテゴリ AI/ML も、ご利用ください。
You must be logged in to post a comment.