PaPoo
cover
technews
Author
technews
世界の技術ニュースをリアルタイムでキャッチし、日本語でわかりやすく発信。AI・半導体・スタートアップから規制動向まで、グローバルテックシーンの「今」をお届けします。

Linuxのroot権限奪取を招く「Copy Fail」と「Dirty Frag」──ページキャッシュを突く新しい脆弱性の話

記事のキーポイント

何が起きたのか

InfoQが伝えたのは、Linuxカーネルに見つかった2つのローカル権限昇格(local privilege escalation)の脆弱性です。
ざっくり言うと、​普通のユーザー権限しか持っていない人が、OSの最強権限であるrootを取れてしまうという話です。これはかなり危ないです。rootを取られると、設定変更、データ改ざん、マルウェア設置、ログ隠しなど、やりたい放題になりえます。

しかも厄介なのは、これらがLinuxの多くの主要ディストリビューションに影響すること。
「うちの環境だけ大丈夫」という逃げ道が少なく、まさに一斉点検案件です。

Copy Failとは何か

最初の脆弱性が Copy Fail(CVE-2026-31431)​ です。
これはセキュリティ企業 Theori が 2026年4月29日に公開しました。

ポイントは、Linuxカーネルの algif_aead というモジュールにあるロジック不備です。
ロジック不備というのは、メモリ破壊みたいな派手な不具合ではなく、​処理の流れや条件分岐の考え方が間違っているタイプのバグです。こういうのは見た目に地味ですが、刺さると厄介です。

Theoriの説明によると、この問題は2017年の最適化が引き金になっていました。
攻撃者は AF_ALG socket を使ってデータを splice し、​自分のものではないファイルの page cache に小さな書き込みができてしまいます。

image_0011.png

ここで出てくる page cache は、簡単に言えば「ファイルを速く読むために、Linuxがメモリ上に一時保存しているコピー」のことです。
このキャッシュはホスト全体で共有されるので、そこに不正な書き込みが入ると、​setuid binary のような特権ファイルにまで悪影響が及ぶ可能性があります。

Theoriは、Python標準ライブラリだけで動く 732バイトのPoC(概念実証コード)​ を公開し、Ubuntu 24.04 LTS、Amazon Linux 2023、RHEL 10.1、SUSE 16 を修正なしでroot化できるとしています。
732バイトって、かなり短いです。短いコードでここまで到達するのは、正直かなり不気味です。攻撃の「手軽さ」が増すからです。

Theoriのコメントも印象的です。
この脆弱性は、特権のないローカルユーザーアカウントさえあれば成立し、ネットアクセスもデバッグ機能も事前の足がかりも不要だとされています。さらに、Linuxの暗号APIである AF_ALG は多くの標準構成で有効なので、かなり広く“箱から出したまま”の状態で危険が潜んでいるわけです。

Dirty Fragとは何か

その約1週間後に出てきたのが Dirty Frag です。
こちらは研究者 Hyunwoo Kim が 2026年5月7日に公開しました。名前からして、かなりあからさまに Dirty Pipe を連想させます。実際、同じく page cache を悪用する系統です。

Dirty Frag は2つの脆弱性を組み合わせたものです。

xfrm-ESP はネットワーク暗号化系の仕組み、RxRPC は別の通信系の機構です。
この2つが面白いのは、​お互いの弱点を補い合うように設計上の穴が分かれていることです。つまり、あるディストリビューションではAが使えないがBが使える、別の環境ではその逆、という具合に、合わせるとかなり広い範囲をカバーできるわけです。

元記事の引用にあるように、xfrm-ESP の手口は強力な 4バイト書き込みプリミティブを提供しますが、​namespace を作成する権限が必要です。
一方で RxRPC は namespace 権限が不要ですが、​rxrpc.ko モジュールが最初から入っていないことが多い。ところが Ubuntu ではそのモジュールがデフォルトで読み込まれるケースがある、というのが厄介な点です。

image_0012.jpg

個人的には、この「単体では抜け道があるのに、組み合わせると広く刺さる」という構図がかなり嫌らしいと思います。攻撃者は、環境ごとに最適なルートを選べるからです。

しかも Dirty Frag はレース条件頼みではない

カーネル脆弱性というと、しばしば race condition​(処理のタイミングが競合して不安定になる問題)が登場します。
でも Dirty Frag はそうではなく、​決定的なロジックバグだと説明されています。つまり、運が良ければ成功する、ではなく、条件を満たせばかなり高い確率で通るタイプです。

これは重要です。
なぜなら、レース条件型の攻撃は再現が難しく、失敗も多いのに対して、​決定的な欠陥は攻撃の信頼性が高いからです。攻撃者にとって「安定して使える」は大きな価値があります。

影響範囲はかなり広い

元記事によれば、Dirty Frag の影響は広く、たとえば Ubuntu は Trusty Tahr(14.04 LTS)以降が対象です。
かなり長い時間軸をまたいでいて、古いシステムほど「まだ動いているから放置」が起きやすいぶん、現場では地味に怖いです。

また、AlmaLinux は公開当日に詳細を出し、パッチ入りのテストカーネルをすぐ提供したとされています。
こういう対応の速さは本当に大事で、脆弱性対応は「知っている」だけでは意味がなく、​実際にすぐ入れられるかが勝負です。

どうしてこんなに危ないのか

image_0013.jpg

この手の脆弱性の怖さは、攻撃経路が「外から」ではなく、​すでに入られてしまった後の一撃として効くところです。

たとえば、

こういう環境では、local privilege escalation はかなり現実的な脅威です。
「外部から入れなければ安全」とは言えません。むしろ、いったん足場を作られたあとに root まで持っていかれるのが最悪です。

私の率直な感想

正直、今回の話はかなり「やられたな」という印象です。
Dirty Pipe の記憶がまだ新しいのに、また page cache 系の脆弱性が出てきて、しかも主要ディストリビューションを広く巻き込む。これはかなり痛いです。

特に気になるのは、​AI支援の解析や探索が実際に脆弱性発見の速度を上げ始めていることです。Theori が AI-powered security tool を使って短時間で見つけたというのは、単なる武勇伝ではなく、今後の脆弱性発見の現実を示している気がします。
防御側としては「人手で見逃していた領域」が、これからはもっと高速に掘り起こされるかもしれません。そこはかなり怖いところです。

一方で、だからといって絶望する話でもありません。
Linuxコミュニティや各ディストリビューションが迅速に修正を出しているのは救いです。結局、こういうときに本当に大事なのは、​速報を見たら即アップデートする運用を持っているかどうかだと思います。

いまやるべきこと

image_0014.jpg

もし自分の組織や手元のサーバーが Linux を使っているなら、まずは次を確認したいです。

特に古いマシンは要注意です。
「止めたくないから後で」が積み重なると、気づいたときには攻撃者にとっておいしい環境になっていることがあります。

まとめ

Copy Fail と Dirty Frag は、どちらも Linux カーネルの page cache を突く、かなり嫌な脆弱性です。
しかも root を奪えるので、被害は“ちょっと不安定になる”では済みません。​OSの主導権を取られるレベルです。

そして厄介なのは、これが一部の特殊環境だけの話ではなく、​多くの主要ディストリビューションに広く影響すること。
Linux は堅牢、というイメージは確かにありますが、カーネルの深いところにある設計ミスは、やっぱり派手に効きます。だからこそ、運用側のアップデート速度が問われるのだと思います。


参考: Copy Fail and Dirty Frag: Linux Page-Cache Exploits Target Every Major Distribution

同じ著者の記事