PoC Exploit Released for Dirty Frag Linux Kernel Vulnerability
2026/05/08 gbhackers — “Dirty Frag” と呼ばれる、新たな Linux kernel 脆弱性クラスに対する PoC エクスプロイトが公開された。この悪用が容易なローカル権限昇格の脆弱性により、攻撃者は主要な Linux ディストリビューションの大半において、安定して root 権限を取得可能となっている。脆弱性情報が非公開にされるべき期間中であったが、第三者による猶予違反により、公式パッチや CVE 識別子が割り当てられる前に、PoC エクスプロイトが公開されてしまった。その結果、CVE-N/A で公式パッチが未提供の状況で、PoC エクスプロイトが流通する事態を招いている。

脆弱性の技術的詳細
“Dirty Frag” は、Linux kernel のページ・キャッシュの悪用を可能にするロジック欠陥であり、 “Dirty Pipe” や “Copy Fail” と同様の手法で動作する。ただし、今回のページ・キャッシュは、パフォーマンス最適化のためにメモリ内に維持される、ファイルのコピーである。
この脆弱性はレース・コンディションを伴わない決定論的なバグであるため、カーネルクラッシュを引き起こすことなく悪用が可能である。また、攻撃者は実際のディスク・ファイルに対する書き込み権限を必要とせず、システム・メモリ上の読み取り専用ファイルを改変できてしまう。
実際の攻撃は、2 つの異なるページ・キャッシュ書き込みの脆弱性を連鎖させることで成立し、個別のシステム保護機能を回避した root 権限取得が可能になる。

セキュリティ研究者の Hyunwoo Kim によると、1 つ目の脆弱性 “xfrm-ESP Page-Cache Write” は IPsec ネットワーク・スタックに存在している。この欠陥は 2017年1月以降コードベースに残されていたが、その実態は、スプライスされたページキャッシュ参照を含む非線形ソケット・バッファが、必須の copy-on-write (COW) チェックを回避してしまうというものである。
この回避が起きた場合、ESP 復号パスがページキャッシュに対して直接的な任意の 4 バイト書き込みを実行するが、これは V4Bel が GitHub 上で報告している通り、xfrm-ESP 側の脆弱性が強力な任意書き込みプリミティブを提供することを意味している。
このプリミティブを悪用する攻撃者は、switch user コマンド向けの setuid-root バイナリのページキャッシュを書き換え、悪意の root シェル・ペイロードを埋め込むというプロセスを経て、最終的に root 権限の奪取に成功する。
2 つ目の脆弱性 “RxRPC Page-Cache Write” は、2023年6月に kernel に導入されたものである。この欠陥は、ユーザー namespace 権限を必要とせずに、スプライスされたページ上で直接 8 バイトのインプレース復号処理を実行できる。
この決定論的な動作を悪用する攻撃者は、カーネル書き込みをトリガーする前にユーザー空間で復号キーを総当たり攻撃することで、ページキャッシュ内のシステム・パスワード・データベースを正確に改変し、root ユーザー・エントリを書き換えて認証プロンプトを完全に回避することが可能となる。
この 2 つの欠陥を組み合わせることで、単一のエクスプロイト・バイナリにより、複数の Linux ディストリビューションで安定した root 権限取得が可能となる。
エクスプロイトの連鎖と影響を受けるシステム
影響範囲には以下が含まれる。
- Ubuntu 24.04.4 (kernel 6.17.0-23-generic)
- RHEL 10.1 (kernel 6.12.0-124.49.1.el10_1.x86_64)
- openSUSE Tumbleweed (kernel 7.0.2-1-default)
- CentOS Stream 10 (kernel 6.12.0-224.el10.x86_64)
- AlmaLinux 10 (kernel 6.12.0-124.52.3.el10_1.x86_64)
- Fedora 44 (kernel 6.19.14-300.fc44.x86_64)
xfrm-ESP 側の脆弱性は、ユーザー namespace 作成権限を必要とするが、Ubuntu のようなディストリビューションでは、AppArmor ポリシーにより既定で制限されている場合が多い。その一方で、RxRPC 側の脆弱性は namespace 権限を必要としないため、kernel モジュールが既定でロードされている Ubuntu 環境では、強力な代替経路として機能する。
この連鎖的な攻撃手法により、単一のエクスプロイト・バイナリで Ubuntu/Red Hat Enterprise Linux/Fedora/CentOS Stream/AlmaLinux/openSUSE などの複数の環境に対する root 権限取得が可能となる。さらに、標的とする kernel サブシステムが従来とは異なるため、“Dirty COW” 対策を適用済みのシステム上であっても “Dirty Frag” は正常に動作してしまう。
情報公開制限が早期に破られた影響により、主要 Linux ディストリビューション向けの公式セキュリティ・パッチは現時点で提供されておらず、メンテナーが更新済み kernel バージョンを提供するまでは、システム管理者は手動による回避策に依存せざるを得ない状況にある。
主な緩和策は、”Dirty Frag” が悪用する特定の kernel モジュールを無効化することである。管理者には、esp4/esp6/rxrpc モジュールのロードを直ちに禁止し、脆弱なインプレース復号処理を遮断することが求められる。
それに加えてセキュリティ・チームにとって必要なことは、脅威インテリジェンスを継続的に監視してパッチ公開状況を追跡し、重要な認証関連バイナリのページ・キャッシュに対する不正改変を監査することである。
訳者後書:今回の Dirty Frag という脆弱性は、 Linux kernel が効率的にファイルを扱うためのページキャッシュという仕組みを悪用したことが大きな原因です。本来は書き換え時に行われるはずの、COW (Copy-on-Write) チェックの回避や、認証情報の書き換えを許すロジックの欠陥が、 IPsec や RxRPC という通信に関わる部分に潜んでいました。これらが連鎖することで、権限のないユーザーであっても、管理者権限を取得できてしまう状態になっています。この記事の時点では、公式パッチや CVE 識別子がまだ割り当てられておらず、特定のモジュールを停止するなどの手動での対策が求められています。よろしければ、Linux kernel での検索結果も、ご参照ください。
You must be logged in to post a comment.