本文へ移動
English version →
高 9.2 急ぎ度: 早めに

llama.cppのrpc-serverに脆弱性、修正版はb11865

llama.cppのrpc-serverに、ネットワーク越しに認証なしでサーバーを落とせる脆弱性が見つかりました。コード実行の可能性もあります。rpc-serverを動かしている組織は、b11865以降への更新と、公開範囲の見直しを早めに進めてください。

CVE-2026-118375 公開 生成 AI で作成
画像は生成 AI で作成したイメージです

急ぎ度: 早めに

CVSS v3は8.1、v4は9.2で、認証なしにネットワークから到達でき、修正版b11865が出ていますが、KEVへの掲載は確認されていません。

関係があるか

llama.cppのrpc-serverを使い、複数のマシンで推論を分担させている組織が対象です。rpc-serverを起動していない環境は、この問題の経路を通らないとみられます。

製品影響を受ける版直った版
llama.cpp(ggml-rpc の RDMA トランスポート) b8841以上、b11865未満 b11865

確かめ方

  1. 1社内のサーバーやコンテナで、rpc-serverが起動していないかを確認します。起動しているホストが対象の候補です。
  2. 2rpc-serverが待ち受けているポートに、どのネットワークから到達できるかを確認します。
  3. 3ビルド番号がb8841以上b11865未満なら、影響する版です。自分でビルドしている場合は、取得したソースのタグやコミットも見てください。
  4. 4llama.cppを組み込んだ他社製品を使っている場合は、その製品が同梱している版を、提供元の告知で確認します。

何が起きたか

llama.cppのrpc-serverに、メモリの範囲外に書き込める脆弱性が見つかりました。認証を持たない相手がネットワーク越しにデータを送ると、サーバーが異常終了するほか、コードを実行される可能性があります。

原因は、RDMAで通信する部分の受信処理にあります。1バイト分しかないスタック上の変数に対して、最大256 KiBのデータを書き込めてしまいます。弱点の種類はCWE-787(範囲外書き込み)です。

b8841以上b11865未満が影響を受けます。b11865で修正され、情報は2026年10月28日に公開されました。

攻撃の流れ

  1. 1

    到達

    rpc-serverのポートにネットワーク経由で接続できる相手が現れます。

  2. 2

    RDMA対応を申告

    接続の最初のやり取りで、RDMAを使えると申告します。

  3. 3

    過大なデータ送信

    1バイトの変数に収まらない量のデータが送られ、スタックが溢れます。

  4. 4

    停止かコード実行

    rpc-serverが落ちるか、条件が重なるとコードが実行されます。

公開されている情報をもとにした流れの例です。

どう悪用されるか

認証は要りません。利用者の操作も不要で、rpc-serverのポートにネットワークから到達できれば試みられます。接続の最初のやり取りでRDMAを使えると申告する必要があり、CVSS v3では攻撃条件の複雑さが高いと評価されています。一方のv4では、条件は低いとされています。

被害として確実に起こるのは、rpc-serverの異常終了です。分散推論の途中で処理が止まり、そのサーバーに依存するサービスにも影響が出ます。

コードを実行できた場合は、rpc-serverを動かしているユーザーの権限で、ホスト上のモデルファイルや環境変数、同じ権限で触れるデータにアクセスされる恐れがあります。機密性・完全性・可用性のいずれも高い影響とされています。

今すぐやること

  1. 1

    rpc-serverの稼働状況を洗い出す

    開発機、検証環境、GPUサーバー、コンテナを対象に、rpc-serverを動かしているホストを一覧にします。一時的に立てて放置しているものも見落とさないようにします。

  2. 2

    ビルド番号を確認する

    対象ホストで版を確認し、b8841以上b11865未満かどうかを判断します。

    llama-cli --version
  3. 3

    b11865以降に更新して再ビルドする

    修正版のソースを取得して再ビルドするか、配布物を入れ替えます。コンテナイメージは作り直し、起動中のrpc-serverを再起動します。

  4. 4

    待ち受けの範囲を絞る

    更新後も、rpc-serverには推論に使うホストからしか接続できないようにします。信頼できない相手が届く場所には置かないでください。

  5. 5

    異常終了の記録を調べる

    更新前の期間に、rpc-serverが理由なく落ちていないかをログで見ます。不審な接続元があれば、セキュリティ担当者に共有します。

すぐ更新できないとき

すぐに更新できないときは、rpc-serverを使わない間は停止します。使う間は、ファイアウォールやセキュリティグループで、接続を許すホストを推論に必要な相手だけに限ります。インターネットや、利用者の端末が届くネットワークには公開しないでください。

背景

llama.cppは、大規模言語モデルを自分のマシンで動かすためのオープンソースの推論エンジンです。rpc-serverは、モデルの計算を別のマシンのGPUやCPUに任せる機能で、1台に載らない大きなモデルを動かしたいときや、社内の余っている計算資源をまとめたいときに使われます。

この機能は、信頼できるネットワークの中で使う前提で作られており、プロジェクトの文書でも、信頼できないネットワークへ公開しないよう注意されています。今回の脆弱性は、その前提が崩れたときの被害を大きくします。しかもC/C++の低レベルなバッファー操作で起きており、落ちるだけでなく、コード実行まで考えなければならない種類のものです。

よくある質問

Q.llama.cppを組み込んだ他の製品を使っています。影響はありますか。
A.その製品がrpc-serverの機能を含み、影響する版のllama.cppを使っていれば、影響を受ける可能性があります。製品名だけでは判断できないため、提供元の告知で、同梱しているllama.cppの版を確認してください。

まだ分かっていないこと

  • 実際の攻撃での悪用が確認されているかは、公表されていません。
  • RDMAを有効にしていない構成で、この経路に到達されるかどうかは、公表されている範囲では分かりません。ビルドの設定ごとの影響は、llama.cppのリリースノートや関連の情報で確認してください。

この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。

影響パッケージ

種類パッケージ影響を受ける版直った版
ggml-org llama.cpp
b8841 以上 b11865 未満
b11865

ディストリビューション別の修正状況

各ディストリビューションが公開している、この CVE の修正パッケージ

原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

llama.cpp b8841 before b11865 contains an out-of-bounds write vulnerability in the ggml-rpc RDMA transport rdma_recv() function that allows unauthenticated peers to overflow the rpc-server stack. Attackers advertising RDMA capabilities in the HELLO message can send up to 256 KiB into a 1-byte stack variable in rpc_serve_client(), crashing the server or potentially executing code.

出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく