OWN NEWS GATHER
← 戻る
The Hacker News

Linuxの仮想化機能「vhost」に深刻な脆弱性、ローカルroot奪取や仮想マシン脱出の恐れ

要点

  • Linuxカーネルの仮想化・コンテナ高速化サブシステム「vhost」において、メモリ破壊を引き起こす脆弱性「Vghost(CVE-2026-74580)」が判明した。
  • 非特権のローカルユーザーがカーネルメモリを自由に読み書きして管理者(root)権限を奪取できるほか、特定の条件下では仮想マシン内からホスト環境へ脱出できる。
  • 中国テンセントのセキュリティチーム「Zhuque Lab」がAIツールを用いて発見し、2026年10月12日に実証コードを含む詳細な技術レポートを公開した。
  • Linux 4.11から7.2-rc4までの約9年間にわたるカーネルに影響し、主要ディストリビューションの複数環境で攻撃の実効性が確認されている。
  • アップストリームおよび各ディストリビューションから修正版が順次提供されており、ホストへの脱出リスクを完全に解消するにはカーネルの更新が必須となる。

Linuxカーネル内の仮想化支援サブシステムに、ローカル環境での権限昇格や仮想マシン(ゲストOS)からの不正な脱出を可能にする重大な脆弱性が存在することが明らかになった。中国テンセント傘下のセキュリティ研究部門「Zhuque Lab」がAIツールを活用して欠陥を特定し、2026年10月12日に実証コード(PoC)を伴う詳細レポートを公表した。影響範囲は約9年前のバージョンにまで遡り、長期にわたって潜在していたという。

脆弱性の概要と想定される攻撃手法

今回報告された脆弱性は「CVE-2026-74580」として追跡されており、発見者によって「Vghost」と命名されている。問題が確認されたのは、仮想マシンやコンテナのネットワークおよび入出力処理を高速化するLinuxカーネルの「vhost」サブシステムである。

この脆弱性を突く攻撃には、大きく分けて2つのシナリオが存在する。1つ目は、同一システム内の一般ユーザーによる権限昇格である。攻撃者は通常 /dev/vhost-net または /dev/vhost-vsock のデバイスノードを経由してvhostへアクセスする。この欠陥を利用することで、非特権ユーザーであっても任意のカーネルメモリアドレスに対して読み書きを自由に行えるようになり、KASLR(カーネルのアドレス配置をランダム化して攻撃を防ぐ保護機構)を回避して最高権限であるrootを奪取できる。攻撃の成功は確定的であり、複雑なメモリ配置の調整や偶発的なタイミングに頼る必要がないと説明されている。

2つ目は、より限定的な構成において発生する仮想マシンからの脱出(ゲスト脱出)である。仮想マシンのvirtioデバイスが「iommu_platform」を有効にした仮想IOMMUの背後に配置され、かつvhostが「device-IOTLB」モードで稼働している環境が対象となる。この構成下では、信頼できないゲストOSからホストカーネルに境界外書き込みを発生させ、ホスト上で仮想マシンを制御しているQEMU(仮想化環境をエミュレートする基盤ソフトウェア)プロセスのメモリを改ざんできる。ゲスト側からQEMUの関数ポインタを上書きすることで、ホストプロセスの実行フローを乗っ取る、あるいはプロセスを異常終了させることが可能になるという。

9年間にわたり潜在した仕組みと技術的背景

本脆弱性の直接的な原因は、vhostが仮想リングや共有キューのメモリ変換情報を管理するキャッシュ処理の不備にある。vhostはパフォーマンスを高めるため、各仮想リングとデータ転送用キューのメモリマッピングを小規模なキャッシュに保持しており、キャッシュにヒットした領域は検証済みとして処理をショートカットする設計を採用していた。

通常、マッピングが更新・無効化された際やキューがリセットされた際にはキャッシュが破棄される。しかし、キューが稼働している最中に VHOST_SET_VRING_ADDR や VHOST_SET_VRING_NUM といったコマンドによってリングのアドレスやサイズが変更された場合、キャッシュが破棄されない欠陥が存在していた。

さらに、device-IOTLBが接続されている環境では、これらのコマンドは新しいアドレスを受け取った時点での検証を省略し、後続のステップへ検証を先送りする動作となっていた。その結果、一度キャッシュが生成されると後続のチェックが一切実行されず、古いマッピングのままアドレス変換が行われ続ける。カーネルはそのポインタに対して境界チェックを行わずにデータをコピーするため、リングの範囲外に対する不正な読み書きが発生し、カーネルメモリの任意読み書きへとつながる。

この欠陥は、2つの独立した変更が重なったことで生み出され、約9年間にわたって残存していた。2017年のLinux 4.11でキャッシュ機構とショートカット処理が導入され、その後の2020年のLinux 5.9においてアドレス検証処理がコマンド実行時から後続ステップへと移された。この変更によって、本来であれば古い変換を捕捉できたはずの検証機構が失われることになったと報告されている。

影響を受ける環境と各ベンダーの対応状況

本脆弱性の影響を受けるのは、Linuxカーネル4.11から7.2-rc4までのバージョンである。Zhuque Labは、以下の5つのディストリビューションカーネルにおいて、一般ユーザーからroot権限を奪取する一連の攻撃実証に成功したとしている。

  • Ubuntu 26.04
  • RHEL 9.8
  • Amazon Linux 2023
  • Microsoft Azure Linux 3.0
  • Oracle Linux 10.2

調査環境のうち、Ubuntuでは対象のデバイスノードへのアクセスが「kvm」グループに限定されていたため、攻撃を実行するには同グループに所属している必要があった。一方、検証された他の4つのディストリビューションイメージでは、デバイスノードがパーミッション「0666」で設定されており、ローカルにログインできるすべてのユーザーがアクセス可能な状態であったという。

修正パッチ(コミット: de845981da67)は2026年8月3日に作成されており、リングが再構成された際には必ずキャッシュを破棄するよう改修された。アップストリームの安定版カーネルでは、以下のバージョン以降で修正が適用されている。

  • 5.10.265
  • 5.15.216
  • 6.1.183
  • 6.6.152
  • 6.12.104
  • 6.18.45
  • 7.1.9
  • 7.2

ディストリビューションベンダーの対応状況について、Red Hat、Amazon Linux、Oracle Linuxはすでに修正パッケージを公開している。Ubuntuは22.04向けに修正を提供した一方、2026年10月13日時点において24.04および26.04向けカーネルの対応は「進行中(in progress)」と案内されている。なお、現時点で本脆弱性が実際に悪用された形跡は公には確認されていない。

暫定的な緩和策と深刻度の評価

修正済みカーネルを適用して再起動することが根本的な解決策となるが、即座にアップデートできない環境向けの暫定措置として、デバイスノードへのアクセス制限が挙げられている。/dev/vhost-net および /dev/vhost-vsock から一般ユーザーのアクセス権限を削除し、所有グループを信頼できる仮想化サービスのみに限定した上で、脆弱なカーネルが稼働している間はそのグループの所属権限を特権と同等に扱うことが求められる。

ただし、仮想マシンからホストへの脱出攻撃に対しては暫定的な回避策が存在せず、修正済みカーネルの適用が唯一の対処法とされている。

脆弱性の深刻度については「High(高)」と評価されており、最上位の「Critical(緊急)」には分類されていない。評価機関の間でもスコア判断に差異が見られ、kernel.orgのCVEチームはCVSSスコアを8.8と算出している。

元URL