
TL;DR: Linuxカーネルに2つの新しいバグがあります。このスクリプトは、あなたが脆弱かどうかを教えてくれます。パッチを適用しましょう。
2026年5月7日、Dirty Frag と呼ばれる脆弱性クラスが、セキュリティ研究者の Hyunwoo Kim(@v4bel)によって公開されました。これは予定より早く、パッチが準備される前に情報公開禁止期間(エンバーゴ)が破られたため、彼がやむを得ず公開したものです。
これにより、権限のないローカルユーザーが root を取得できます。レースコンディションも、タイミングウィンドウもありません。非常に信頼性が高いです。
影響を受けるサブシステムは2つです:
| CVE | サブシステム | モジュール | 導入時期 | 修正(上流) |
|---|---|---|---|---|
| CVE-2026-43284 | IPsec ESP | esp4, esp6 | 2017年1月(cac2661c53f3) | 2026年5月7日(f4c50a4034e6) |
| CVE-2026-43500 | RxRPC | rxrpc | 2023年6月(2dc334f1a63a) | 2026年5月10日(aa54b1d27fe0) |
どちらのバグも単独では完全に信頼できるものではありません。ESP パスはユーザー名前空間を作成する権限を必要とします(Ubuntu の AppArmor がこれをブロックします)。また、RxRPC パスは rxrpc.ko のロードが必要です(ほとんどのディストリビューションではデフォルトでロードされません)。これらを組み合わせることで、互いの盲点を補い、実質的にすべての主要ディストリビューションでチェーンが機能するようになります。
公開された概念実証(PoC)が存在します。すでに活発に使用されていると想定してください。
システムが悪用可能となる条件をチェックし、単なる「はい/いいえ」ではなく、具体的に なぜ危険にさらされているのかを教えてくれます。
何も修正しません。何も悪用しません。システムについての真実を伝えるだけです。
python3 dirty_frag_detect.py
これだけです。色分けされた出力、各検出結果の具体的な理由、最後に修復の概要が表示されます。
[
]
本当の修正はカーネルにパッチを適用することです。 ディストリビューションのセキュリティ勧告を確認してください:
| ディストリビューション | 確認先 |
|---|---|
| Ubuntu / Debian | sudo apt-get update && sudo apt-get dist-upgrade |
待っている間(またはディストリビューション向けのパッチがまだ利用できない場合)は、脆弱なモジュールをブラックリストに登録してください:
sudo 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"
⚠️ その前に:
esp4/esp6をブラックリストに登録すると、IPsec トンネルが壊れます(strongSwan、Libreswan が影響を受けます。WireGuard は影響を受けません)。VPN ゲートウェイには適用しないでください。rxrpcをブラックリストに登録すると、AFS 分散ファイルシステムのクライアントが壊れます。ほとんど誰も使っていませんが、まず確認してください。
重要: 緩和策が適用される前にシステムが標的にされた可能性がある場合、エクスプロイトはディスクに触れずにページキャッシュ内のバイナリを改変できます。ディスク上のチェックサムを確認するファイル整合性ツール(Tripwire、AIDE)では異常を検出できません。再起動するとページキャッシュがクリアされ、ディスク上の状態が復元されます。
両方のバグは、カーネルのインプレース復号化高速パスに存在します。ソケットバッファがカーネルがプライベートに所有していないページ化されたフラグメントを運ぶ場合 — 例えば、splice() や sendfile() を介してアタッチされたパイプページ — ESP と RxRPC の受信パスは、最初にコピーせずに、それらの外部バッキングページ上で直接復号化します。
攻撃者は、/usr/bin/su(または他の読み取り可能なファイル)のキャッシュからページをこれらの復号化パスのいずれかに誘導し、自分のキーを使用して「復号化された出力」を任意のバイトにすることができます。カーネルはそれらのバイトを su のメモリ内キャッシュコピーに直接書き込みます。ディスク上のファイルは変更されません。カーネルはページをダーティとしてマークすることもありません。
その時点から、su を実行するすべてのプロセスは攻撃者のバージョンを実行します — drop_caches または再起動まで。
ESP バリアント(cac2661c53f3)と RxRPC バリアント(2dc334f1a63a)は同じシンクを共有しますが、相殺される異なる前提条件を持つため、すべての主要構成でチェーンが信頼性高く機能します。
完全な技術的解説については、V4bel/dirtyfrag を参照してください。
クレジット:Hyunwoo Kim(@v4bel)によるオリジナル研究、開示、および PoC。
検出のみを目的としています。評価を許可されたシステムに対してのみ使用してください。
| チェック項目 | 何を確認するか |
|---|
| カーネルバージョン | このカーネルは影響を受ける範囲のいずれかに該当するか? |
| パッチ — CVE-2026-43284 | esp4/esp6 の修正(f4c50a4034e6)がカーネルパッケージに含まれているか? |
| パッチ — CVE-2026-43500 | ディストリビューションが rxrpc の修正(aa54b1d27fe0)をバックポートしたか? |
esp4 モジュール | ロード済み、ロード可能、またはブラックリスト登録済みか? |
esp6 モジュール | ロード済み、ロード可能、またはブラックリスト登録済みか? |
rxrpc モジュール | ロード済み、ロード可能、またはブラックリスト登録済みか? |
| XFRM netlink ソケット | 権限のないユーザーが今すぐ開くことができるか? |
| AF_RXRPC ソケット | 権限のないユーザーが今すぐ開くことができるか? |
| 緩和策 | AppArmor、SELinux、権限のないユーザー名前空間、ブラックリストファイル |
| RHEL / AlmaLinux / Rocky |
sudo dnf update kernel |
| Arch | sudo pacman -Syu linux |
| CloudLinux | CloudLinux 勧告 |
| 日付 | イベント |
|---|
| 2026-04-30 | Linux カーネルセキュリティチームに報告 |
| 2026-05-07 | 第三者によるエンバーゴ破り。Hyunwoo Kim が予定より早く公開 |
| 2026-05-07 | 公開 PoC リリース。CVE-2026-43284 が割り当てられる |
| 2026-05-07 | CVE-2026-43284 の修正(f4c50a4034e6)が netdev/net.git にマージ |
| 2026-05-08 | CVE-2026-43500 が予約。ディストリビューションが CVE-2026-43284 のパッチ適用済みカーネルの配布を開始 |
| 2026-05-10 | CVE-2026-43500 の修正(aa54b1d27fe0)がメインラインにマージ |
| 2026-05-11 | CVE-2026-43500 のディストリビューション向けバックポート進行中 |