
2つのページキャッシュ書き込み脆弱性(CVE-2026-43284、CVE-2026-43500)を連鎖させたLinuxカーネル権限昇格エクスプロイト。レースコンディションなしで主要ディストリビューションで決定的なrootアクセスを実現。

この文書では、Hyunwoo Kim (@v4bel) によって最初に発見・報告された Dirty Frag 脆弱性クラスについて説明します。これは、xfrm-ESP Page-Cache Write (CVE-2026-43284) 脆弱性と RxRPC Page-Cache Write (CVE-2026-43500) 脆弱性を連鎖させることで、主要なLinuxディストリビューションで root 権限を取得できるものです。
Dirty Frag は、Dirty Pipe や Copy Fail が属するバグクラスを拡張するケースです。タイミングウィンドウに依存しない決定論的なロジックバグであるため、レースコンディションは不要で、エクスプロイト失敗時にもカーネルはパニックせず、成功率は非常に高いです。
詳細な技術情報とタイムラインについては、こちら を参照してください。
xfrm-ESP Page-Cache Write (CVE-2026-43284) は mainline f4c50a4034e6 で修正されました。RxRPC Page-Cache Write (CVE-2026-43500) は mainline aa54b1d27fe0 で修正されました。[!NOTE] この文書が最初に公開された時点(2026-05-07)では、外部要因によりエンバーゴが破られていたため、パッチやCVEはまだ存在していませんでした。当時 [email protected] でメンテナと協議した後、Dirty Frag 文書は彼らの要請に応じて公開されました。開示のタイムラインについては技術詳細を参照してください。
git clone https://github.com/V4bel/dirtyfrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp
このPoCは、linux-distros との協議を経て正確な情報として提供されています。テストを許可されていないシステムでは使用しないでください。
⚠️ 重要: このエクスプロイトを実行すると、ページキャッシュが汚染されます。汚染されたページキャッシュをクリアしてシステムの安定性を確保するには、次のコマンドを実行するか、
echo 3 > /proc/sys/vm/drop_caches
またはシステムを再起動してください。
言い換えると、この脆弱性の有効期間は約9年間です。
この Dirty Frag は、以下のディストリビューションバージョンでテストされています。
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; echo 3 > /proc/sys/vm/drop_caches; true"
xfrm-ESP Page-Cache Write は Copy Fail と同様の強力な任意4バイトSTOREプリミティブを提供し、ほとんどのディストリビューションに含まれていますが、名前空間を作成する権限が必要です。
Ubuntu は AppArmor ポリシーにより、非特権ユーザー名前空間の作成をブロックすることがあります。そのような環境では、xfrm-ESP Page-Cache Write はトリガーできません。RxRPC Page-Cache Write は名前空間を作成する権限を必要としませんが、rxrpc.ko モジュール自体はほとんどのディストリビューションに含まれていません。ただし、Ubuntu では rxrpc.ko モジュールがデフォルトでロードされます。
2つの亜種を連鎖させることで、互いの盲点を補完し、主要なすべてのディストリビューションで root 権限を取得できるようになります。詳細については、技術詳細文書を参照してください。
はいはい、分かっています。しかし、この脆弱性は "Dirty Pipe" の子孫であり、struct sk_buff の frag メンバを「汚す(dirtyにする)」バグクラスです。したがって、この名前が最も適切です。
Copy Fail がこの研究を始めるきっかけでした。特に、Dirty Frag 脆弱性チェーンにおける xfrm-ESP Page-Cache Write は Copy Fail と同じシンクを共有しています。ただし、algif_aead モジュールが利用可能かどうかに関係なくトリガーされます。言い換えると、公知の Copy Fail 緩和策(algif_aead ブラックリスト)が適用されているシステムでも、あなたの Linux は依然として Dirty Frag に対して脆弱です。
上記の「緩和策」のセクションを参照してください。