関連記事
RHEL等に9年前から潜む脆弱性「RefluXFS」、1640万台超のシステムでルート権限奪取の恐れ

(Redhat.com)[写真拡大]
Red Hat Enterprise Linux(RHEL)やその派生OSのデフォルトファイルシステムに、ローカルユーザーが密かにルート権限を取得できる9年前からの脆弱性(CVE-2026-64600)が発見された。影響を受けるシステムは世界で1640万台以上に上ると推定されており、標準的なセキュリティ防御では検知やブロックができない。すでに各ベンダーから修正パッチが提供されているため、管理者は直ちにパッチを適用し、システムを再起動する必要がある。
■1640万台以上に影響する「RefluXFS」脆弱性
RHELやその派生OS(Oracle Linux、AlmaLinux、Rocky Linux、Fedora Server、Amazon Linux 2023など)のデフォルトファイルシステムに、9年前から存在する脆弱性が明らかになった。シェルアカウントを持つローカルユーザーであれば、保護されたシステムファイルを密かに上書きし、完全なルート権限を取得できる。この変更は再起動後も維持され、カーネルログには出力されない。さらに、SELinux(Enforcingモード)、コンテナの境界、カーネルのメモリ保護、seccompプロファイルなど、導入されているあらゆる標準的なLinuxの防御機構は構造的にこの攻撃を検知できない。これは、防御機構が想定していないレイヤーで攻撃が実行されるためである。
「RefluXFS」と名付けられたこの脆弱性(CVE-2026-64600)は、2026年7月22日にQualys Threat Research UnitのSaeed Abbasi氏らによって公開された。Qualys CyberSecurity Asset Managementを用いた分析に基づき、Qualysは世界中で1640万台以上のシステムが影響を受けると推定している。2017年にリリースされたバージョン4.11以降のすべてのメインラインLinuxカーネルに存在している。公開の6日前となる2026年7月16日にLinuxカーネルツリーへパッチがマージされており、現在、影響を受けるディストリビューション向けにベンダーからパッチ適用済みのカーネルが提供されている。回避策は存在せず、パッチを適用したカーネルをインストールし、システムを再起動することだけが唯一の修復方法となる。
■XFSのCopy-on-Writeにおける競合状態の仕組み
XFSは、RHEL 7以降、RHELおよびその多くの派生OSでデフォルトのルートファイルシステムとなっている。その機能の一つである「reflink」(ファイルシステムのスーパーブロックでreflink=1フラグによりデフォルトで有効)は、データを複製することなく、複数のファイルが同じ基盤となるディスクブロックを共有できるようにするものだ。これは仮想マシン(VM)イメージ、コンテナレイヤー、大規模ストレージなどで有用であり、新しいVMイメージを作成するために40GBのデータをコピーする代わりに、新しいファイルが元のファイルと同じ物理ブロックを指すようにすることができる。
それらのブロックを共有するファイルのいずれかに書き込みが行われる際、XFSはCopy-on-Write(CoW)を実行する必要がある。つまり、新しいプライベートブロックを割り当て、ファイルが新しいブロックを指すように再マッピングし、元の共有ブロックの参照カウントを減らす。データの破損を防ぐため、この一連の処理は直列化されなければならず、XFSはそのためにinodeロックを使用する。しかし、トランザクションログサブシステムでのデッドロックを回避するため、カーネルはCoWサイクルの間にログスペースを待つ間、そのinodeロックを解除してしまう。
このロック解除のタイミングが脆弱性の隙となる。2つのプロセスが、同じreflinkされたファイルを対象に、カーネルのページキャッシュをバイパスしてディスクに直接書き込む「O_DIRECT」モードで同時に書き込みを発行すると、競合状態(レースコンディション)が発生する可能性がある。2番目の書き込みプロセスがロック解除の隙間に入り込み、自身のCoWサイクルを完了させ、ファイルを新しいブロックに再マッピングし、元のブロックの参照カウントを1に減らすことができる。最初の書き込みプロセスがロックを再取得した際、ロック解除前に取得した古い物理ブロックアドレスを使用して参照カウントを再読み込みする。カウントが1であることを見て、そのブロックがプライベートであると誤って判断し、元のファイルの物理ブロックに直接書き込んでしまう。
O_DIRECTはカーネルのページキャッシュをバイパスし、再検証を行わないため、その書き込みはディスクに到達する。ファイルシステムのメタデータ、ファイルの所有権記録、setuidビットよりも下のブロックレイヤーで対象ファイルを上書きする。ディスク上のファイルの見かけの所有権、権限、タイムスタンプは変更されないまま、その内容だけが外科的に改ざんされる。この変更は再起動後も持続する。ファイルシステムのメタデータには一切触れられないため、標準的なファイル整合性監視では何も検知されない。また、この変更はカーネルログにも出力されない。
実用的な観点から言えば、標準的なシェルアカウントしか持たない攻撃者がこの手法を利用して「/etc/passwd」を上書きし、rootのパスワード保護を無効化したり、SUID-rootバイナリを変更してシェルを起動させたりすることが可能になる。デフォルトのRHEL 10.2環境でのPoC(概念実証)デモでは、エクスプロイトの実行から数秒以内にrootアカウントのパスワード保護が無効化されることが示された。
■影響を受けるシステムの条件
システムがエクスプロイト可能であるためには、3つの条件が同時に満たされる必要がある。セキュリティパッチが適用されていないLinuxカーネルバージョン4.11以降を実行していること、ファイルシステムがXFSでありスーパーブロックでreflink=1が設定されていること、そしてファイルシステム内に価値の高いターゲットファイル(root所有の設定ファイルやSUID-rootバイナリ)と非特権ユーザーが書き込み可能なディレクトリの両方が存在することである。
これら3つの条件は、エンタープライズLinuxの幅広いデフォルトインストール環境で満たされている。影響を受けることが確認されているディストリビューションには、RHEL 8、9、10、CentOS Stream 8、9、10、Oracle Linux 8、9、10、Rocky LinuxおよびAlmaLinux 8、9、10、CloudLinux 8、9、10、Amazon Linux 2023および2022年12月以降のAmazon Linux 2 AMI、Fedora Server 31以降が含まれる。Debian、Ubuntu、SUSEはデフォルトでXFSを使用していないが、インストール時に管理者が手動でreflink=1のXFSを選択した場合は同様に影響を受ける。
■標準的な防御機構が構造的に機能しない理由
RefluXFSの最も憂慮すべき特徴は、エンタープライズLinuxの管理者が依存してきた堅牢化スタックを包括的に無効化してしまう点にある。これは個々の防御機構の失敗ではなく、アーキテクチャ上のギャップである。メモリ保護、アクセス制御の強制、システムコールのフィルタリング、コンテナの分離といった標準的なLinuxの堅牢化戦略全体は、メモリオペレーション、ケーパビリティの境界、システムコールへのアクセスを監視するために構築されている。RefluXFSは、それらすべての下層にあるファイルシステム割り当てレイヤーで動作する。
KASLR、SMEP、SMAPなどのメモリ保護機能は、コードインジェクションや任意のメモリ読み取りを防ぐことを目的としており、ブロックレイヤーの書き込みを検査したりブロックしたりするメカニズムを持たない。カーネルのロックダウンモードは、非特権ユーザーによるO_DIRECTやFICLONEに制限を設けていない。EnforcingモードのSELinuxは、影響を受けるXFSのコードパスをブロックしない。エクスプロイトはSELinuxが評価するポリシー決定をトリガーしないためである。標準的なseccompプロファイルも、エクスプロイトが必要とするwriteおよびioctlコールを許可しているため役に立たない。
コンテナ環境も防御の足しにはならない。ユーザー名前空間の制限、コンテナのケーパビリティ制限、堅牢化されたアロケータはすべて、この脆弱性が決して触れないレイヤーで動作する。共有XFSファイルシステムに書き込み可能なコンテナ化されたワークロードは、ホスト上で直接実行されているプロセスと同じように脆弱性にさらされる。
Qualysは、これは堅牢化による回避、分離、またはライブパッチで対応できる脆弱性ではないと明言している。即時のカーネルパッチ適用と完全な再起動のみが選択肢となる。
この構造的な教訓は、今回の特定のCVEにとどまらない。XFSファイルシステムの割り当てレイヤー、あるいは他のCoWファイルシステムのブロック割り当てパスにおける将来の競合状態も、この特性を共有することになる。O_DIRECTを介したブロックレイヤーの書き込みは、エンタープライズLinuxの堅牢化が強制するように設計された制御を通過しない。防御側は、より積極的なSELinuxポリシーやより厳格なseccompルールでこれを補うことはできない。それらのツールは単にこの攻撃対象領域に到達しないからである。
■未公開AIモデル「Claude Mythos Preview」による発見
RefluXFSの公開には、セキュリティコミュニティが無視できないであろうもう一つの側面がある。それは、このバグがそもそもどのようにして発見されたかという点だ。
Qualysは、Anthropicの最も高性能なフロンティアAIモデルである「Claude Mythos Preview」に対し、Dirty COW(CVE-2016-5195。2016年に発見された、Linuxカーネルのメモリ管理サブシステムにおけるCoWの競合状態を悪用した権限昇格の脆弱性)に似た競合状態を探し出すタスクを与えた。Qualysの研究者はプロンプトを反復的に改良し、カーネルのメモリ管理およびファイルシステムディレクトリにおける競合状態へとモデルの焦点を絞り込んだ。数回の反復の後、モデルはXFSのCoWパスにおける競合状態を特定し、機能するローカル権限昇格のPoC(概念実証)を生成した。
その後、Qualysの研究者が引き継いだ。彼らはモデルの推論をレビューし、エクスプロイトを再現し、すべての技術的主張を独自に検証した上で、XFSメンテナーおよびLinuxカーネルセキュリティチームレベルのアップストリームメンテナー(Carlos Maiolino、Greg Kroah-Hartman、Darrick J. Wong、Linus Torvalds、David Woodhouse、Willy Tarreau各氏)と公開の調整を行った。モデルはアドバイザリの初期草案も作成し、チームは独自のテストと照らし合わせてそれを検証・修正した。
Claude Mythos Previewは一般公開されていない。Anthropicは「Project Glasswing」を通じてのみこのモデルを展開している。これは、フロンティアAIをセキュリティ研究に責任を持って適用する方法を評価するという特定の目的のために、少数の信頼できる組織(主にサイバーセキュリティ企業)にモデルへのアクセスを提供するプログラムである。Qualysは2026年6月にこのプログラムに参加した。
QualysのThreat Research Unitの責任者であるSaeed Abbasi氏は、この実験が示すものと示さないものについて率直に述べている。RefluXFSから得られる教訓は、AIをソフトウェアに向けてオンデマンドでエクスプロイトを生成できるということではない。教訓は、AIと専門家の判断を組み合わせることで、攻撃者が悪用する前に防御側が深刻な欠陥を見つけるのに役立つということだ。
この枠組みは、2026年のLinuxセキュリティの状況において検討する価値がある。今月上旬に報じられたBad Epoll(CVE-2026-46242)は、AnthropicのMythosモデルがepollコード内の関連する2つのバグのうち1つを発見し、人間の研究者がMythosが見逃した2つ目を独自に発見したカーネルの競合状態であった。RefluXFSはそれを補完するデータポイントを提示している。同じクラスのモデルが、異なるサブシステムにおいて、9年間の人間のレビューをすり抜けて未検出だったバグを発見したのである。
RefluXFSはまた、10年前に公開されたDirty COWと同じ構造的テンプレートに従っている。CoWパスにおける微妙なタイミングの欠陥であり、何年にもわたるカーネルリリースの中で見過ごされ、rootへの権限昇格に悪用可能であり、ログの痕跡を残さない。2016年当時、Dirty COWを表面化させたのは、研究者が野生のエクスプロイトサンプルを偶然発見したことだった。2026年においては、構造化されたAI支援による監査がそれを成し遂げた。
■推奨される対策
パッチは一般公開に先立ち、2026年7月16日にメインラインのLinuxカーネルツリーにマージされた。現在、影響を受けるディストリビューション全体でベンダーパッチが適用されたカーネルが利用可能となっており、QualysのQIDカバレッジはRed Hat、Oracle、AlmaLinux、Rocky Linux、Fedora、Amazon Linuxにわたり、十数件のアドバイザリを網羅している。
回避策は存在しない。組織は、既存のXFSファイルシステムを再フォーマットすることなくreflinkを無効にすることはできない。設定変更、seccompポリシー、SELinuxルールのいずれもこの欠陥には対処できない。
システム管理者は直ちに以下の4つの具体的な手順を実行する必要がある。
1つ目は、ディストリビューションベンダーから提供される最新のカーネルセキュリティアップデートを適用することだ。RHEL 8/9/10の場合、関連するアドバイザリにはRHSA-2026:39179、RHSA-2026:39984、RHSA-2026:40425、RHSA-2026:41062、RHSA-2026:41063、RHSA-2026:41229が含まれる。Oracle Linuxの場合はELSA-2026-39494が適用される。AlmaLinuxとRocky Linuxについては、同じカーネルバージョンをカバーする同等のALSA/RLSAが利用可能である。
2つ目は、アップデート適用後にシステムを再起動することだ。カーネルパッチはマシンが再起動するまで有効にならないため、この手順は必須でありスキップすることはできない。
3つ目は、再起動後に「uname -r」を使用して実行中のカーネルバージョンを確認し、以前のカーネルではなくパッチ適用済みのバージョンが使用されていることを検証することだ。
4つ目は、複数のユーザーがログインアクセスを共有するシステムを優先することだ。この攻撃はローカルアカウントのみを必要とするため、共有ログインサーバー、マルチテナントのクラウドVM、HPCクラスター、CI/CDランナー、および請負業者、外部サービスアカウント、または侵害されたアプリケーションが標準的なシェルアカウントであっても保持しているシステムは、最も緊急性が高いものとして扱うべきである。
公開日時点で、実際の攻撃(イン・ザ・ワイルド)での悪用は確認されていない。Qualysはエクスプロイトコードを一般公開していない。しかし、この脆弱性が極めて確実性が高く、フォレンジックの痕跡を残さず、最も広く導入されているエンタープライズLinuxプラットフォームのデフォルトのファイルシステム構成を実行しているシステムに影響を与えることを考慮すると、猶予期間は短いと考えるべきである。
■注目ポイントQ&A
●SELinuxをEnforcingモードにしていれば、CVE-2026-64600から保護されますか?
いいえ。Qualys自身の評価によると、テストにおいてSELinuxは影響を受けるXFSのコードパスをブロックしません。このエクスプロイトは、カーネルのページキャッシュをバイパスするO_DIRECT書き込みパスを介して、ファイルシステム割り当てレイヤーで動作します。SELinuxはシステムコール、ケーパビリティ、およびファイルアクセスメタデータに対してポリシーを強制しますが、RefluXFSが使用する特定のブロックレイヤー書き込みプリミティブは、そのいずれによっても評価されません。これは、より制限の厳しい設定で修正できるSELinuxポリシーのギャップではなく、SELinuxが監視するものとこの攻撃が動作する場所との間の構造的な不一致です。
●CVE-2026-64600はDirty COWとどう違うのですか?
どちらもLinuxカーネルのCopy-on-Writeの競合状態を悪用するローカル権限昇格の脆弱性であり、カーネルログの痕跡を残しません。構造的な主な違いはその場所にあります。Dirty COW(CVE-2016-5195)は、カーネルのメモリ管理サブシステム(具体的には、ユーザースペースプロセスが物理メモリページを取得する方法を処理するmm/gup.c)におけるCoWの競合を悪用したもので、カーネル2.6.22(2007年)から4.8.3までに存在していました。一方、RefluXFSは、まったく異なるサブシステムであるXFSファイルシステムのブロック割り当てパスにおけるCoWの競合を悪用します。影響を受けるカーネルバージョンも異なり、RefluXFSはXFS reflinkが有効になっているカーネル4.11以降を必要としますが、Dirty COWはXFS reflink機能が登場する前の古いカーネルに影響を与えていました。
●攻撃者はローカルアカウントを持たずに、これをリモートから悪用できますか?
CVE-2026-64600はローカルアクセスを必要とします。つまり、攻撃者は影響を受けるシステム上にすでにシェルアカウントを持っている必要があります。直接的なリモートからの悪用は不可能です。しかし、クラウドやホスト型環境では、この違いは見た目ほど重要ではありません。ホスト上で実行されている侵害されたWebアプリケーション、悪意のある依存関係、または侵害されたサービスアカウントは、まさに必要なローカルの足がかりを提供します。コンテナ化された環境において、コンテナからのエスケープや侵害されたコンテナ化サービスによって攻撃者がホスト上のプロセスを取得した場合、コンテナの分離はこの攻撃を阻止しないため、そのプロセスはエクスプロイトを試みるのに十分なローカルアクセスを持つことになります。
●XFS reflinkとは何ですか?なぜそれがこの脆弱性を生み出すのですか?
XFS reflinkは、RHEL 8以降でデフォルトで有効になっているストレージ効率化機能であり、データを複製することなく、複数のファイルが同じ基盤となる物理ディスクブロックを共有できるようにします。これはVMイメージ、コンテナレイヤー、および大規模なファイルコピーに役立ちます。40GBのデータを書き込む代わりに、新しいファイルは既存のブロックを指すだけで済みます。脆弱性が発生するのは、共有(reflinkされた)ブロックへの書き込みが発生した際、XFSがファイルに独自のプライベートブロックを与えるためにCopy-on-Writeを実行しなければならないためです。そのプロセス中、カーネルはトランザクションログスペースを待つためにinodeロックを一時的に解除します。このロック解除によって競合の隙間(レースウィンドウ)が生じます。同時に書き込みを行う別のプロセスが入り込み、ファイルを再マッピングし、参照カウントを変更することで、最初の書き込みプロセスが元の共有ブロックを直接上書きしてしまう事態を引き起こします。この書き込みは、すべてのファイルシステムのメタデータやセキュリティポリシーの適用の下にある、物理ディスクレイヤーに到達します。
元記事: Linux Kernel Flaw Exposes 16 Million RHEL Systems to Silent Root Takeover
※この記事はTech Timesから提供を受けた記事を日本向けに翻訳・編集したものです。
スポンサードリンク

