脆弱性・CVE速報深刻度: 高

vLLM の P2pNcclConnector で X-Request-Id ヘッダーから外向き接続を作られ、KV キャッシュが漏れるおそれ(CVE-2026-116176、CVSS v3.1 8.2): 0.24.0 で修正

目次(5)

CVE-2026-116176

NVD は 2026-10-25 に、LLM 推論エンジン vLLM の脆弱性 CVE-2026-116176 を登録しました。0.9.2 以上 0.24.0 未満が対象です。HTTP の X-Request-Id ヘッダーに特定の文字列を入れると、KV 転送コネクタ「P2pNcclConnector」を使う prefill ワーカーが、攻撃者の指定したホストへ外向きに接続します。API を呼べる相手が、処理中のリクエストのプロンプトや KV キャッシュを持ち出せる、という内容です。修正版は 0.24.0 で、2026-06-29 に公開されています。

何が起きるか

  • vLLM の API サーバーは、X-Request-Id ヘッダーの値をそのままリクエスト ID として内部で使います。P2pNcclConnector はこの ID から、正規表現でホストとポートを取り出します。許可リストやスキームの確認はありません。
  • 攻撃者がヘッダーに接続先を埋め込んだリクエストを /v1/completions や /v1/chat/completions に送ると、prefill ワーカーはそのホストへ ZMQ で外向きに接続し、NCCL の通信用 ID(unique_id)を送ります。続けて、そのリクエストの KV キャッシュのテンソルが攻撃先へ送られます(開発元の勧告)。
  • KV キャッシュにはプロンプトの内容や、先頭部分が共有されたキャッシュの隠れ状態が含まれます。そのため、ワーカーが処理した他のリクエストの内容まで漏れる可能性があると勧告は述べています。
  • 攻撃先が応答しない場合、NCCL の初期化呼び出しがブロックされ、prefill ワーカーが止まります(サービス拒否)。
  • 条件は、サーバーを P2pNcclConnector 付きの KV 転送設定(kv_connector に P2pNcclConnector、kv_role に kv_producer)で起動していることです。この設定でない通常のサーバーは対象外です。追加の権限は不要で、API キーが設定されていれば有効なキーが必要、未設定なら不要です。
  • 弱点の種別は CWE-918(サーバーサイドリクエストフォージェリ)です。

評価の状況

  • NVD の状態は Analyzed です。CVSS v3.1 は 8.2(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L)で、評価元は VulnCheck(CNA)です。NVD 自身の評価は載っていません。VulnCheck は CVSS v4.0 を 8.8 としています。
  • GitHub の開発元勧告は重大度 high、CVE は未記載です(NVD は VulnCheck 登録の CVE から勧告を参照)。
  • EPSS は 0.0032(約 0.3%、パーセンタイル 24.8、11/1 付)です。CISA の KEV カタログ(2026.10.30 版)には載っていません。

修正の状況

  • 修正版は 0.24.0 です。GitHub のリリース(v0.24.0、2026-06-29)と PyPI の公開を、11/2 に確認しました。リリースノートに該当の PR #44854 が含まれています。
  • 修正は、脆弱な P2pNcclConnector を削除する内容です。ヘッダーの検証を足すのではなく、コネクタそのものがなくなります。このため、同じコネクタを使い続けたい場合は、別の KV 転送の方式への移行が必要になります(推定)。
  • 最新のリリースは 0.32.0 です。0.24.0 以降はコネクタがないため、更新が根本対策になります。

対応として考えられること

  1. 自組織の vLLM が 0.9.2 以上 0.24.0 未満か、かつ P2pNcclConnector を使う KV 転送設定になっているかを確認します。
  2. 該当する場合は 0.24.0 以降(できれば現行の 0.32.0 系)へ更新し、KV 転送は別の方式に切り替えます。更新後に版数を再確認します。
  3. すぐに更新できない場合は、prefill ワーカーの API を信頼できる内部ネットワークに限り、プロキシ側でクライアントからの X-Request-Id を除去または上書きします(推定)。
  4. prefill ワーカーから見慣れない外部ホストへの TCP 接続がなかったかを、ネットワークの記録で確認します(推定)。

未確認の点

  • 実際の攻撃での悪用は確認していません。KEV には未掲載です。
  • 公開済みの概念実証コードの有無は確認していません。
  • P2pNcclConnector を使った構成が実環境でどのくらいあるかは確認していません。0.9.2 より前の版が影響を受けるかも確認していません。

この記事について

出典

この記事を共有