LinuxカーネルXFSの権限昇格の脆弱性CVE-2026-64600
Qualysの2026年7月22日の勧告によると、Linuxカーネルでは、reflink対応で作ったXFS上で、権限の無いローカルユーザーが読めるファイルのディスク上の内容を書き換えられる[16]。QualysはこのCVE-2026-64600をRefluXFSと呼び、知る限りでは2017年2月のコミットで入ったとした[16]。CISAの評価では、悪用(Exploitation)はnoneである[1]。
脆弱性の内容
原因と悪用の手順
LinuxカーネルのCNAが公開したCVEレコードの説明によると、xfs_reflink_fill_cow_holeとxfs_reflink_fill_delallocの2つの関数は、トランザクションを得るためにILOCKを手放して取り直すので、取り直すとすぐにマッピングが古くなる[1]。コピーオンライト(CoW)フォークのマッピングは取り直していたが、データフォークのマッピングは取り直していなかった[1]。このため参照カウントのB木に誤った物理ブロックを問い合わせ、共有でないと判定されると、ダイレクトI/Oの書き込みが古いデータフォークのマッピングのまま進む[1]。修正は、ILOCKの取り直しの前後でシーケンスカウンタが変わったら、データフォークのマッピングを問い合わせ直すものである[1]。
CVEレコードは、脆弱性を持ち込んだコミットを3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5、主線の修正コミットを2f4acd0fcd862e22eab45690ec2c08c80b6ef2e7と記した[1]。CNAの評価の説明では、悪用にはローカルのFICLONEと、並行するO_DIRECTの書き込みのシステムコールを使い、実演した悪用は通常数秒で成功する[1]。保護されたファイルの読み取り権限と、作業用ファイルへの書き込み権限だけを要し、ケイパビリティは要らない[1]。
Qualysの勧告では、攻撃者は標的のファイル(/etc/passwdや/usr/bin/suなどのSUID-rootのバイナリ)を自分の作業用ファイルにreflinkで複製し、その作業用ファイルにO_DIRECTの書き込みを並行して競わせる[16]。別の書き込みが先にコピーオンライトを済ませて参照カウントを2から1に下げると、残った書き込みは共有でないと判断し、複製元だけのものになったブロックに書き込む[16]。変更はディスクに直接書かれて再起動後も残り、カーネルのログを出さない[16]。標的のファイルのinodeに触れないので、書き換えたSUID-rootのバイナリはSUIDビットを保つ[16]。
Qualysのエクスプロイトは、/etc/passwdを/var/tmpの作業用ファイルに複製し、32スレッドで4KBのO_DIRECTの書き込みを同時に出す[16]。背景の8スレッドがトランザクションの確保を滞らせて、競合の時間窓を広げる[16]。書き込む内容は/etc/passwdのrootの行から「x」を外したもので、rootのパスワードが空になり、suでパスワード無しにrootのシェルが得られる[16]。Fedora 44の試験機では、競合は通常10秒未満(数百〜数千回)で勝ち、クラッシュ・WARN・dmesgの出力は無かった[16]。
標的のブロックの参照カウントが最初から2以上のとき(管理者がcpでreflinkの複製を作った場合など)は、競合は起きない[16]。Qualysは、/etc/passwdなら一般ユーザーがchshで書き直させて共有を外せるとし、SUID-rootのバイナリはreflinkされていることが少ないと書いた[16]。
Red Hatは、reflinkしたファイルのコピーオンライトの競合状態で、書き込みがコピーオンライトを迂回して共有のデータブロックを直接書き換えうると説明した[3]。読み取り権限を持つローカルの攻撃者が書き込み権限の無いファイルを壊すことができ、うまく悪用されると権限昇格や任意コードの実行に至りうるとした[3]。
Qualysのブログでは、SELinuxをEnforcingで動かす環境も含め、通常のローカルアカウントの攻撃者が保護されたファイルを書き換えてrootを得られる[15]。Qualysは、CyberSecurity Asset Managementの分析に基づき、世界で1,640万台を超えるシステムに影響する可能性があるとした[15]。悪用が普通のローカル権限から始められることを理由に、優先度をemergencyと評価した[15]。
| 基本値 | 評価した組織 | 資料 |
|---|---|---|
| CVSS 3.1で7.8(AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) | LinuxカーネルのCNA(NVDはSecondaryとして掲載) | [1、14] |
| CVSS 3.1で7.8 | Red Hat、Ubuntu、Oracle Linux(暫定の値) | [3、7、10] |
| CVSS 3.1で7.8(SUSE独自のベクタ、AC:HとS:C) | SUSE | [8] |
| CVSS 4.0で8.8 | SUSE | [8] |
| CVSS v3で7.0 | Amazon Linux | [9] |
重大度は、Red Hat・Amazon Linux・Oracle LinuxがImportant、SUSEがimportantとした[3、8、9、10]。Ubuntuは優先度をMediumとした[7]。CWEは、CISAのADP・Red Hat・NVDがCWE-362(競合状態)を付けた[1、3、14]。
発見の経緯と勧告の草稿
Qualysの勧告の前書きによると、QualysはAnthropicからClaude Mythos Previewの利用を認められ、試みとしてLinuxカーネルでDirty COWに似た脆弱性を探すよう指示した[16]。最初は見つからず、対象を競合状態、mm/とfs/、fs/*/のファイルシステムへと絞った[16]。数回の繰り返しの後にモデルがXFSの競合状態を見つけ、rootへの権限昇格の概念実証を書いた[16]。
QualysはそれをFedora Server 44の既定のインストールで試し、成功させた[16]。勧告の草稿もモデルに書かせ、Qualysが検証した[16]。ブログでは、研究者がモデルの推論を見直し、エクスプロイトを再現し、技術的な主張をすべて独自に確かめてから上流と開示を調整したと説明した[15]。Qualysはoss-securityへの追記で、Anthropicのチームへの謝意を加えた[17]。
The Hacker Newsの7月23日の記事によると、QualysのThreat Research Unitを率いる担当者は、モデルがxfs_reflink_fill_cow_hole()とxfs_reflink_fill_delalloc()の2つの経路を同時に見つけたと説明した[19]。同紙は、後者の経路はQualysの勧告に載っていないと報じた[19]。7月24日の更新では、担当者がモデルの草稿にほとんど手を入れず、空欄だった3節(最後の注記・謝辞・時系列)を書き直してエピグラフを差し替えただけだと述べたと報じた[19]。
時系列
| 日付 | 主体 | 内容 | 資料 |
|---|---|---|---|
| 2026年 | Qualys | 勧告と概念実証をXFSメンテナとLinuxカーネルのセキュリティチームに送った | [16] |
| 2026年 | - | 修正がXFSのカーネル開発ツリーにコミットされた | [16] |
| 2026年 | Red Hat | RHEL 8・9・10の主系列に修正済みのカーネルを配布した | [3] |
| 2026年 | Linus Torvalds | 修正をLinuxカーネルのソースツリーにマージした | [16] |
| 2026年 | CIQ | 修正済みのカーネルを出した | [11] |
| 2026年 | Qualys | 16時(UTC)の協調公開で勧告とブログを公開した | [15、16] |
| 2026年 | Red Hat | SystemTapによる緩和策をoss-securityに投稿した | [4] |
| 2026年 | LinuxカーネルのCNA | CVEレコードを公開した | [1] |
| 2026年 | NIST | NVDにCVE-2026-64600を公開した | [14] |
| 2026年 | Universität Hamburgの研究者 | NFSで公開したXFSでは公開のPoCで再現できなかったと投稿した | [18] |
| 2026年 | Red Hat、XFSメンテナ | NFS経由の悪用の可否についてoss-securityに返信した | [2、5] |
| 2026年 | CISA | CVEレコードのADPにSSVCの評価を加えた | [1] |
対象の製品と版
CVEレコードは、影響を受ける版を4.11以降とし、対象のファイルをfs/xfs/xfs_reflink.cとした[1]。
| 製品 | 影響を受ける版 | 修正版 | 資料 |
|---|---|---|---|
| Linuxカーネルの5.15系列 | 修正版より前 | 5.15.212 | [1] |
| Linuxカーネルの6.1系列 | 修正版より前 | 6.1.178 | [1] |
| Linuxカーネルの6.6系列 | 修正版より前 | 6.6.145 | [1] |
| Linuxカーネルの6.12系列 | 修正版より前 | 6.12.96 | [1] |
| Linuxカーネルの6.18系列 | 修正版より前 | 6.18.39 | [1] |
| Linuxカーネルの7.1系列 | 修正版より前 | 7.1.4 | [1] |
| Linuxカーネルの主線 | 修正版より前 | 7.2(修正の元のコミット) | [1] |
Qualysの勧告によると、影響を受けるのは3つの条件がすべてそろうときである[16]。
- 修正を含まないv4.11(2017年4月)以降のカーネル[16]
- スーパーブロックがreflink=1のXFS[16]
- 攻撃の価値のあるファイル(root所有の設定ファイルかSUID-rootのバイナリ)と、一般ユーザーが書き込めるディレクトリの両方を置いたXFS[16]
3つ目の条件は1ボリュームの既定のインストールならどれでも満たし、/var/tmpは誰でも書き込めて/etc・/usr/binと同じルートファイルシステムにある[16]。reflinkは、xfsprogs 5.1.0(2019年7月)からmkfs.xfsの既定である[16]。Red Hatは上流より先に、RHEL 8.0 GA(2019年5月)のxfsprogsで既定にした[16]。reflinkはmkfsのときに決まるスーパーブロックの機能で、後から無効にするマウントオプションやsysctlは無い[16]。
| 区分 | 配布 | 資料 |
|---|---|---|
| 既定のインストールで悪用できる | RHEL 8・9・10、CentOS Stream 8・9・10、Rocky・AlmaLinux 8・9・10 | [16] |
| 既定のインストールで悪用できる | Oracle Linux 8・9・10(RHCKとUEK R6/R7/8)、CloudLinux 8・9・10 | [16] |
| 既定のインストールで悪用できる | Fedora Server 31以降、Amazon Linux 2023、2022年12月(2.0.20221210.1)以降のAmazon Linux 2のAMI | [16] |
| 既定では悪用できないが、インストール時にXFSを選び、xfsprogsがreflinkを既定にする版なら悪用できる | Debian、Ubuntu、Fedora Workstation、SLES、openSUSE、Arch | [16] |
| どの構成でも影響を受けない | RHEL 7、CentOS 7(RHEL 7から8へのLeappによるその場のアップグレードも悪用できない) | [16] |
Qualysはブログで、この一覧は確認済みの配布で網羅ではなく、RHEL派生のほかの配布も脆弱な可能性が高いとした[15]。Red Hatは、reflink=1はRHEL 8以降で作ったXFSの既定の設定で、reflinkの無いXFSやext4などは影響を受けないと説明した[3]。OpenShift Container Platform 4での評価はLowで、RHCOSのノードにはroot以外のローカルユーザーのアカウントが無く、コンテナからのファイルシステムをまたぐreflinkはEXDEVで失敗するためと説明した[3]。
CIQは、Rocky Linux 8・9・10とCIQの派生版の既定の1ボリュームのインストールが該当するとし、上流の修正が主線へマージされた日付も記した〔注1〕[11]。CIQ Bridge 7.9とCentOS 7.9は影響を受けないとした[11]。
| 配布元 | 状態 | 修正版・アドバイザリ | 資料 |
|---|---|---|---|
| Red Hat(RHEL 8) | 修正版あり | RHSA-2026:39179(kernel-0:4.18.0-553.144.1.el8_10)、RHSA-2026:39180、kpatchはRHSA-2026:47998 | [3] |
| Red Hat(RHEL 9) | 修正版あり | RHBA-2026:39332(kernel-0:5.14.0-687.26.1.el9_8)、kpatchはRHSA-2026:47981 | [3] |
| Red Hat(RHEL 10) | 修正版あり | RHSA-2026:39494(kernel-0:6.12.0-211.34.1.el10_2)、kpatchはRHSA-2026:46951 | [3] |
| Red Hat(延長サポート系) | 修正版あり | RHSA-2026:39984ほか6件(7月15日〜17日) | [3] |
| Red Hat(RHEL 6・7) | Not affected | - | [3] |
| Debian(修正の初出) | fixed | bookworm 6.1.180-1(DLA-4720-1)、trixie 6.12.96-1、unstable 7.1.4-1 | [6] |
| Debian(現在の版) | fixed | bookworm(security)6.1.190-1、trixie 6.12.107-1、forky・sid 7.2.15-1 | [6] |
| Debian(別パッケージ) | fixed | bullseyeのlinux-6.1 6.1.180-1~deb11u1(DLA-4723-1)、bookwormのlinux-6.12 6.12.100-1~deb12u1(DLA-4724-1) | [6] |
| Debian(bookwormの通常リポジトリ) | vulnerable | 6.1.176-1 | [6] |
| Canonical(Ubuntu 26.04・24.04・22.04のlinux、20.04のlinux-hwe-5.15) | Fixed | 7.0.0-31.31、6.8.0-147.147、5.15.0-198.208、5.15.0-198.208~20.04.1(Ubuntu Pro) | [7] |
| Canonical(Ubuntu 20.04・18.04のlinux、16.04のlinux-hwe、18.04のlinux-hwe-5.4) | Vulnerable | - | [7] |
| Canonical(Ubuntu 26.10) | Not affected | - | [7] |
| SUSE(SUSE Linux Enterprise・openSUSEのカーネル) | Resolved | SUSE-SU-2026:23066-1ほか、ESSA-2026:0154(8月13日) | [8] |
| Amazon(Amazon Linux 2・2023) | Fixed | kernelはALAS2-2026-3835ほか4件(7月27日)、livepatchはALAS2023LIVEPATCH-2026-297ほか | [9] |
| Oracle(Oracle Linux 7〜10のkernel) | 修正版あり | ELSA-2026-39494(OL10)、ELBA-2026-39332(OL9)ほか | [10] |
| Oracle(Oracle Linux 7〜10のkernel-uek) | 修正版あり | ELSA-2026-500121、ELSA-2026-500248・500249(9月4日)ほか | [10] |
| CIQ(Rocky Linuxの商用版、CIQ Linux Kernel) | 修正版あり | 4.18.0-553.144.1+2.1.el8_10_ciq、5.14.0-687.26.1+2.1.el9_8_ciq、6.12.0-211.34.1+2.1.el10_2_ciqほか | [11] |
| TuxCare(KernelCare) | 一部配布中 | EL8・EL9系は配布済み、EL10系は配布開始、Oracle UEK R6/R7とAmazon Linux 2・2023は作業中(7月23日の状態) | [13] |
悪用の状況
CISAのADPのSSVCの評価では、Automatableがno、Technical Impactがtotalである[1]。NVDのレコードには、CISAのKEVへの登録日の項目が無い[14]。トロント大学の情報セキュリティ部門は7月23日の情報として、公開のエクスプロイトコードは無く、CISAのKEVにも載っていないと書いた[12]。
Qualysはブログで、既定のRHEL 10.2で一般ユーザーが数秒でrootのパスワードの保護を外し、パスワード無しでrootになる実演の動画を示した[15]。The Hacker Newsは、Red Hatのトラッカーが7月22日に公開の概念実証を記録したと報じた[19]。同じ記事によると、Qualysの担当者は勧告の悪用の節は仕組みの概要にすぎないとこの分類を退け、Qualysはエクスプロイトを公開しないがXFSメンテナには渡したと述べた[19]。記事の執筆の段階で、実環境での悪用を報告したベンダーは無かった[19]。
NFS経由の再現の試み
Universität HamburgのHPC担当の研究者は、第三者がGitHubに公開したPoCのリポジトリを使ったとoss-securityに書いた[18]。NFSで公開したXFSでは数分間動かしても成功せず、NFSサーバー上でローカルに動かすと即座に成功した[18]。
Red Hat Product Securityの返信によると、NFSで公開したXFSや、XFSの上に重ねたファイルシステムでは試験していない[5]。上の層がreflinkの機能を渡すならエクスプロイトはなお有効と推測するが、上の層の負荷で競合の時間窓が変わり、少なくとも悪用が難しくなりうるとした[5]。
XFSメンテナは、NFSサーバー自体がダイレクトI/Oを行い、NFSクライアントがダイレクトI/Oの書き込みをサーバーへ送れるなら、悪用はなお可能だろうと返信した[2]。RPCの処理が加わるため、素のXFSより再現がずっと難しくても驚かないとも書いた[2]。
修正と回避策
Qualysはブログで、ベンダーの修正済みカーネルが出て企業向けの配布へのバックポートが進んでいると説明し、露出したシステムとマルチテナントのシステムを優先して更新し、再起動で更新を確かめるよう勧めた[15]。確実で実用的な緩和策や一時的な設定変更は無いとした[15]。KASLR・SMEP・SMAP、カーネルロックダウン、SELinux(試験で経路を止めなかった)、writeとioctlを許すseccomp、コンテナの分離はどれも悪用を止めず、カーネルの更新と再起動だけが確実な緩和策だと書いた[15]。
Red Hat Product Securityのoss-securityへの投稿では、作成後のXFSでreflinkを無効にはできないが、SystemTapのスクリプトで緩和できた[4]。スクリプトはXFSのreflinkの入口の関数で処理を飛ばし、-EOPNOTSUPPを返す[4]。SystemTapが無ければ、kprobeでも同じことができるとした[4]。
Red HatはCVEページで、スクリプトを読み込んでいる間はFICLONEとcopy_file_range()が-EOPNOTSUPP(-95)を返すと説明した[3]。Secure Bootの有効な環境ではモジュールの署名が要り、再起動すると緩和は外れる[3]。reflinkに頼り、代わりの手段を持たないプログラムは失敗しうる[3]。
CIQは、確実な実行時の緩和策は無いとし、再起動までの暫定策として、ローカルでの信頼できないコードの実行を制限することを挙げた[11]。CIQの試験では、修正前のカーネルで数秒で競合に勝つ概念実証が、修正後のカーネルでは試行の上限まで勝てなかった[11]。
トロント大学の情報セキュリティ部門は、7月24日の注意で状態を「Patches available — immediate action required」とした[12]。優先するよう求めたのは、共有・マルチテナントのホスト、研究計算のログインノード、ビルドとCIのランナー、踏み台、信頼できない負荷を動かすコンテナホストである[12]。
未公表の事項
注
出典
当事者
- [1]The Linux Kernel Organization『CVE-2026-64600: xfs: resample the data fork mapping after cycling ILOCK』(2026年7月23日公開、2026年10月19日更新)
- [2]LinuxカーネルのXFSメンテナ『Re: RefluXFS: LPE in the Linux kernel via XFS reflink race (CVE-2026-64600)』(2026年8月3日公開)
関係組織
- [3]Red Hat, Inc.『CVE-2026-64600』(2026年7月14日公開)
- [4]Red Hat, Inc.『Re: RefluXFS: LPE in the Linux kernel via XFS reflink race (CVE-2026-64600)』(2026年7月22日公開)
- [5]Red Hat, Inc.『Re: RefluXFS: LPE in the Linux kernel via XFS reflink race (CVE-2026-64600)』(2026年8月3日公開)
- [6]Debian Project『CVE-2026-64600』(公開日不明、2026年11月7日閲覧)
- [7]Canonical Ltd.『CVE-2026-64600』(2026年7月23日公開、2026年11月6日更新)
- [8]SUSE LLC『SUSE: CVE-2026-64600』(公開日不明、2026年11月7日閲覧)
- [9]Amazon Web Services, Inc.『CVE-2026-64600』(2026年7月23日公開)
- [10]Oracle Corporation『CVE-2026-64600』(2026年7月23日公開)
- [11]Ctrl IQ, Inc.『Mitigating RefluXFS (XFS Reflink Direct-I/O Race, CVE-2026-64600) on Rocky Linux 8, 9, 10, and LTS Variants』(2026年7月21日公開、2026年7月28日更新)
- [12]University of Toronto『Linux kernel local privilege escalation in XFS ("RefluXFS")』(2026年7月24日公開、2026年8月6日更新)
- [13]TuxCare『RefluXFS (CVE-2026-64600) XFS Root Flaw on RHEL Explained』(2026年7月23日公開)
公的機関
- [14]National Institute of Standards and Technology『CVE-2026-64600』(2026年7月23日公開、2026年10月19日更新)
調査・観測
- [15]Qualys, Inc.『RefluXFS: A Linux Kernel Local Privilege Escalation to Root in XFS (CVE-2026-64600)』(2026年7月22日公開、2026年8月3日更新)
- [16]Qualys, Inc.『RefluXFS: Local Privilege Escalation via XFS reflink direct-I/O race (CVE-2026-64600)』(2026年7月22日公開)
- [17]Qualys, Inc.『Re: RefluXFS: LPE in the Linux kernel via XFS reflink race (CVE-2026-64600)』(2026年7月22日公開)
- [18]Universität HamburgのHPC担当の研究者『Re: RefluXFS: LPE in the Linux kernel via XFS reflink race (CVE-2026-64600)』(2026年7月31日公開)
報道機関
- [19]The Hacker News『Nine-Year-Old RefluXFS Linux Flaw Gives Local Users Root on Default RHEL Installs』(2026年7月23日公開、2026年7月24日更新)
更新記録
- 2026年8月6日:公開した。
- 2026年8月13日:SUSEの8月13日のESSA-2026:0154(出典8)を「対象の製品と版」に加えた。
- 2026年8月17日:LinuxカーネルのCNAが8月17日に更新したCVEレコード(出典1)を加え、「脆弱性の内容」を改めた。
- 2026年9月4日:Oracle Linuxの9月4日のUEKのerrata(出典10)を「対象の製品と版」に加えた。
- 2026年10月16日:CISAのADPが10月16日にCVEレコードに加えたSSVCの評価(出典1)を、リードと「悪用の状況」「時系列」に加えた。
- 2026年10月19日:CVEレコードとNVDの10月19日の更新(出典1、14)を加え、「脆弱性の内容」のCWEの記述を改めた。
- 2026年11月6日:Ubuntuの11月6日の更新(出典7)を加え、「対象の製品と版」の配布元の対応状況を改めた。
