Linux Kernel CVE-2026-72018 Flaw Lets Local Attackers Gain Root Access
2026/09/30 gbhackers — Linux Kernel に存在する高深刻度の脆弱性 CVE-2026-72018 は、SMC-D の DIBS ループバック実装における境界外書き込みに起因するものである。CAP_NET_ADMIN 権限を持つローカルの攻撃者が、この脆弱性を悪用すると、root 権限へ昇格する可能性がある。この脆弱性を発見した XBOW の研究者は、制約のある 16 バイトのゼロ書き込みプリミティブを利用したローカル権限昇格の概念実証 (PoC) を作成した。

Linux Kernel の脆弱性 CVE-2026-72018
この脆弱性は、dibs_loopback ドライバの move_data() ルーチンに存在する。具体的には、登録済みの Direct Memory Buffer (DMB) に対して memcpy() を実行する際に、指定されたオフセットと書き込みサイズが、割り当て済みバッファの範囲内であることが確認されていない。
Shared Memory ハードウェアではメモリ領域の境界が強制される一方、ソフトウェアで実装された DIBS ループバックには同等の検証処理が存在しない。したがって、悪意のあるピアが範囲外のオフセットや過大な書き込みサイズを指定すると、Kernel が対象 DMB の割り当て範囲を超えてデータを書き込み、隣接するメモリを破損する可能性がある。
上流の修正では、オフセットとサイズの合計が DMB の長さを超えた場合にリクエストを拒否し、データのコピーを試みる代わりに -EINVAL を返す検証処理が追加された。この問題は、境界外書き込みを示す CWE-787 に分類される。影響を受けるオブジェクトやメモリレイアウトによっては、メモリ破損/サービス拒否 (DoS)/任意のコード実行につながる可能性があると、Red Hat は警告している。
SMC は IBM が設計したネットワーク技術であり、ソケット・インターフェイスを維持しながら、アプリケーションの通信を共有メモリまたは RDMA を利用する方式へ切り替えることで、データコピーやプロトコル処理に伴うオーバーヘッドを削減する。
SMC-D は同一ホスト上のアプリケーション間の共有メモリ通信を可能にするもので、従来は主に専用の IBM Z/ISM ハードウェアに依存していた。しかし、dibs_loopback 仮想通信方式の導入により、標準的な x86 Linux ホストからも専用ハードウェアなしで関連する SMC-D の処理経路へアクセスできるようになった。この変更により、以前はアクセスが困難と考えられていたコードが、ローカル攻撃の対象となった。
XBOW の分析では、SMC Connection Layer Control のハンドシェイクで渡される値が、DIBS 層の送信オフセットに影響することが示された。攻撃者が制御可能な dmbe_idx/dmbe_size などのフィールドが、オフセット計算に影響を及ぼし、DMB トークンによって書き込み先のバッファが特定される。したがって、検証されていないオフセットを用いた書き込みが、ループバック・ドライバ内の脆弱な memcpy() 処理に到達する。
実証されたエクスプロイトでは、一般的な任意書き込みではなく、数 MB の範囲内で部分的に制御可能な、16 KB 境界に揃えられたオフセットに対して 16 バイトのゼロを書き込む、極めて制限されたプリミティブが使用されている。
この脆弱性をローカルで悪用するため、研究者は nftables NFQUEUE ルールを用いてループバックの CLC トラフィックを傍受し、ハンドシェイク・フィールドを変更した後に、パケットのチェックサムを再計算して変更したパケットを再注入した。この攻撃には、SMC-D の設定やパケットの傍受・変更に必要な CAP_NET_ADMIN 権限が求められる。
さらに、エクスプロイトではヒープ・グルーミングを利用して Linux Kernel の cred オブジェクトを脆弱なバッファの直後に配置し、suid/sgid/euid/egid などの認証情報フィールドにゼロ書き込み先を合わせることで、標的プロセスの実効 UID をゼロに変更し、root シェルを起動できるようにした。
XBOW は、Kernel の緩和策を無効化した Ubuntu 24.04 環境で Linux 7.1.0-rc6 を実行し、PoC をテストした結果、100 回の起動試験のうち 22 回で root 権限の取得に成功したが、初めて成功したのは 7 回目の起動であった。ただし、この結果は実環境における一般的なエクスプロイトの成功率を示すものではなく、制約のあるプリミティブでも、特定のヒープ条件下では権限昇格が可能であることを実証したものである。
管理者には、各 Linux ディストリビューションが提供する、この脆弱性の修正を含むKernel アップデートのインストールが推奨される。NVD の記録では、Kernel の 6.12.97/6.18.40/7.1.5 以降の各系列は影響を受けないとされているが、Kernel のバージョンだけで判断せず、利用しているベンダーのアドバイザリやパッケージの修正状況を確認する必要がある。
今回の事例は、Kernel のメンテナに対し、より広範なリスクを示している。仮想通信方式やハードウェアに依存しない互換レイヤによって、以前は限定的な環境でしか利用されなかったコードが、より広い環境からアクセス可能な攻撃対象となる可能性がある。
セキュリティ・レビューでは、こうした移植実装について、悪意のあるピアを明示的に想定した脅威モデルに基づいて再評価する必要がある。特に、プロトコルから制御可能なフィールドがオフセット計算や低レベルのメモリコピー処理に渡される場合は、適切な境界検証が行われているかを確認する必要がある。
Linux Kernel におけるネットワーク通信用仮想ドライバの検証不足により (CVE-2026-72018)、CAP_NET_ADMIN 権限を持つ悪意ある利用者によるメモリ破壊と root 権限奪取のリスクが生じています。ハードウェア依存の処理をソフトウェアへ移植する際の境界チェック欠如が原因であり、影響としてメモリ破損/サービス拒否 (DoS)/任意のコード実行/root 権限取得/システム全体の乗っ取りなどの危険性があります。修正済みの Kernel バージョンへの更新/ベンダーアドバイザリの確認/互換レイヤにおける適切な入力値検証の実施などの対応が求められます。
You must be logged in to post a comment.