LinuxカーネルのXFSファイルシステムに重大な脆弱性が発見されました。RefluXFSと呼ばれるこの脆弱性により、権限を持たないローカルユーザーがroot権限を取得できてしまいます。RHEL、CentOS、AlmaLinuxなどのディストリビューションが特に影響を受けるため、システム管理者にとって深刻な懸念事項となっています。
CVE-2026-64600として識別されたRefluXFSは、9年前から存在する脆弱性を悪用しています。この脆弱性は、XFSファイルシステムのreflink機能を悪用し、rootユーザーに属する重要なファイルを密かに上書きします。ログに痕跡が残らないため、この攻撃はほぼ検出不可能です。
QualysとAnthropicの共同研究によって発見されたRefluXFSは、Linuxシステムに存在する多くの古典的な防御メカニズムを脅かす脆弱性です。ここでは、私たちが十分に注意を払うべきこの脆弱性について、技術的な観点から詳しく解説します。
RefluXFSがXFSファイルシステムを利用してroot権限を昇格させる方法
RefluXFSは、XFSで導入されたreflink機能を活用しており、データをコピーせずにファイルを複製できます。そのため、一般ユーザーは読み取りアクセスを使用するだけで、/etc/passwdなどの保護されたファイルを複製できます。これにより、元のファイルと同じ物理ディスクブロックを共有するコピーが作成されます。
このクローンへの直接書き込み(O_DIRECT)中に問題が発生します。カーネルは一時的にロックを解除した後、ブロック共有に関する古いチェックを実行します。その結果、同時書き込みによって元のブロック上のデータが書き換えられ、inodeやパーミッションが変更されないままになることがあります。
この状況は、触ってはいけないと言われた壁を、職人がこっそりと、痕跡を一切残さずに塗り直すのと似ています。結果として、不正に改変されたルートファイルは、完全な権限でコードを実行できるようになり、密かにルートアクセスが可能になります。
陰湿な危険性:追跡不可能なルートアクセスが永続的に存在すること
RefluXFSの特に強力な点は、変更がディスクのブロックレベルで書き込まれることです。つまり、メタデータはそのまま保持されます。変更されたバイナリはSUIDビットを保持するため、実行中に権限昇格が可能になります。
さらに、この変更は再起動後も継続するため、侵入は永続的なものとなります。カーネルログにはこの活動が記録されないため、標準的な検出ツールでは検出できません。これは、窓ガラスを割った後に時計を巻く泥棒を擁護するようなものです。
SELinux、KASLR、SMEP、SMAPといった既知の保護メカニズムは、この脆弱性がファイルシステムのブロック割り当ての深層部を操作するため、何も検出できません。このメカニズムの不具合により、従来のセキュリティ対策は無効になります。
RHEL、CentOS、AlmaLinux における RefluXFS の脆弱性を悪用するための影響を受けるマシンと条件
この脆弱性は、バージョン4.11以降のすべてのLinuxカーネルに影響します。これは、現在サポートされているほぼすべてのバージョンに該当します。ファイルシステムはXFSであり、reflinkが有効になっている(reflink=1)必要があります。さらに、権限のないユーザーが、重要なルートファイルと同じパーティションにあるディレクトリへの書き込み権限を持っている必要があります。
影響を受けるディストリビューションには、RHEL 8、9、10、CentOS Stream、AlmaLinux、Rocky Linux、Oracle Linux、およびAmazon Linuxが含まれます。Qualysによると、これらのシステムを合わせると、脆弱性のあるマシンは約1640万台に上ります。Debian、Ubuntu、およびFedora Workstationは、ルートディレクトリにXFSを使用していないため、標準構成では影響を受けません。
SELinuxやその他の保護対策:RefluXFS対策として不十分な理由
SELinuxの強制モードにすれば安全だと考えて安心したくなるかもしれませんが、RefluXFSに関してはそれは間違いです。SELinuxの保護機能は、たとえ厳格モードであっても、この脆弱性をブロックすることはできません。
カーネルロック、隔離コンテナ、さらにはKASLR、SMEP、SMAPといった防御策も、この脆弱性を検知したり、悪用を防いだりすることはできません。この脆弱性は、標準的なファイルシステムレベルのパーミッション管理を回避することで機能するため、これらの防御策は無効になります。
Red Hatのエンジニアは、問題の原因となっているxfs_file_remap_range関数を無効にするSystemTapスクリプトという一時的な解決策を提案した。これは緊急時の回避策だが、reflink機能に依存するアプリケーションのreflink機能が動作しなくなる。
2026年にRefluXFSから保護するための公式パッチとベストプラクティス
朗報として、Linuxカーネルに組み込まれたパッチが2026年7月16日から利用可能になっています。このパッチは、XFSのreflinkの中核にある競合状態を修正し、攻撃を無効化します。RHELベースのディストリビューションは既に対象を絞ったアップデートをリリースしています。
RHELおよびその派生ディストリビューションの場合、修正後のバージョンは、8.10ブランチでは4.18.0-553.144.1.el8_10、9.8では5.14.0-687.26.1.el9_8、10.2では6.12.0-211.34.1.el10_2です。これらのアップデートは速やかに適用してください。
その間、スクリプトを使ってReflinkを無効にするか、システム構成を変更することは、緊急措置です。事態の深刻さは明らかです。特に、従来の保護策をすり抜けるこのような危険な脆弱性に直面した場合、予防は治療に勝るのです。