Linux カーネルの脆弱性 Dirty Fragでroot奪取が可能(CVE-2026-43284・CVE-2026-43500)

セキュリティニュース

投稿日時: 更新日時:

Linuxカーネルの脆弱性 Dirty Fragでroot奪取が可能(CVE-2026-43284・CVE-2026-43500)

2026年5月7〜8日、Linuxカーネルのローカル権限昇格(LPE)脆弱性群として「Dirty Frag」が公開されました。IPsec ESP処理モジュール(esp4/esp6)に起因するCVE-2026-43284と、RxRPCモジュールに起因するCVE-2026-43500の2つの脆弱性を連鎖させることで、非特権ユーザーが単一コマンドでroot権限を取得できる実績ある攻撃手法です。

発見者はセキュリティ研究者のHyunwoo Kim氏(@v4bel)で、2026年4月30日にLinuxカーネルメンテナーへ報告していましたが、エンブレーゴ(情報公開猶予期間)が第三者によって破られたため、ディストリビューションへのパッチ配布前に動作する概念実証(PoC)コードとともに公開される事態となりました。

Microsoftのセキュリティ研究チームは2026年5月8日、この脆弱性が既に実際の攻撃に利用されていることを確認したと公表しており、SSH・Webシェル・コンテナ・低権限アカウント経由での初期侵害後の権限昇格に活用されています。

【この記事のサマリー】

  • Dirty Fragは2つの脆弱性を連鎖させたLPE攻撃で、CVE-2026-43284(esp4/esp6・IPsec ESP)とCVE-2026-43500(rxrpc・RxRPC)から構成されます。CISAおよびCanonicalによるCVSS評価は7.8(High)です。
  • CVE-2026-43284の根本原因は2017年1月に導入されたコミット(cac2661c53f3)に由来し、9年以上潜在していました。CVE-2026-43500は2023年6月に同様のパターンが追加されたものです。
  • 攻撃者は/usr/bin/su等のシステムバイナリのページキャッシュにシェルコードを直接書き込み、rootシェルを取得します。レースコンディションに依存しない信頼性の高い攻撃手法です。
  • Ubuntu・RHEL 8/9/10・CentOS Stream・AlmaLinux・Fedora・openSUSE・OpenShift等が影響を受けます。
  • CVE-2026-43284(esp4/esp6)はメインラインカーネルへのパッチが2026年5月8日に提供されました。CVE-2026-43500(rxrpc)のパッチは2026年5月8日時点で未提供暫定緩和策のみ)。
  • Microsoftは本脆弱性が実際の攻撃で既に使われていることを確認。MicrosoftDefenderによる検知が進行中です。

Dirty Fragとは何か

Dirty Fragを理解するには、Linuxカーネルにおける同系統の脆弱性の系譜を把握することが重要です。

2022年に公開されたDirty Pipe(CVE-2022-0847)は、パイプのページキャッシュに任意データを書き込めるLinuxカーネルの欠陥として大きな注目を集めました。2026年に入ってからはCopy Fail(CVE-2026-31431、CVSS 7.8)が同様のページキャッシュ書き込み手法でroot権限昇格を可能にする脆弱性として公開・悪用されました。

今回のDirty Fragは「Copy Failの後継かつ拡張版」と位置付けられており、

研究者Hyunwoo Kim氏は「Dirty PipeとCopy Failが属するバグクラスを拡張したものがDirty Fragだ」と説明しています。特に注目すべきは、Copy Failへの緩和策(algif_aead モジュールのブロックリスト登録)を適用済みの環境でもDirty Fragは独立して悪用可能という点です。

影響を受けるシステムと環境

  • Ubuntu(全サポートバージョン)
  • Red Hat Enterprise Linux 8/9/10
  • CentOS Stream
  • AlmaLinux 8/9/10
  • Fedora
  • openSUSE
  • OpenShift

が影響を受けます。

なお、AlmaLinux 8はrxrpc.koモジュール自体をビルドしないため、CVE-2026-43500の影響は受けません。

2つの脆弱性の仕組み

共通の根本原因:インプレース復号処理での所有権検証の欠如

Dirty Fragを構成する2つの脆弱性は、Linuxカーネルのネットワーク処理における同一の設計上の欠陥を共有しています。

esp4/esp6(IPsec ESP)およびrxrpc(RxRPC)のインプレース高速復号パスにおいて、ソケットバッファが「カーネルが排他的に所有していないページ」(例:splice(2)sendfile(2)MSG_SPLICE_PAGESでアタッチされたパイプページ)上に断片(フラグメント)を持つ場合、受信パスはそれらの外部バッキングページ上で直接データを復号します。この処理では「そのページが本当にカーネルのものか」を検証していないため、非特権プロセスが復号後の平文への参照を保持し続けることができます。その結果、ページキャッシュへの書き込みプリミティブが成立します。

CVE-2026-43284:xfrm-ESP ページキャッシュ書き込み

esp4・esp6モジュール(IPv4/IPv6向けIPsec ESP処理)に存在する欠陥です。**2017年1月のコミット(cac2661c53f3)**でESP受信処理がインプレース復号高速パスに移行した際に導入されました。なお、この同一コミットは2022年に別のバッファオーバーフロー(CVE-2022-27666、CVSS 7.8)の根本原因ともなっていました。

悪用には非特権ユーザー名前空間の作成が必要であり、Ubuntu環境ではAppArmorによってこの操作がブロックされているため、Ubuntuではこの経路単独での悪用はできません

メインラインカーネルへのパッチはコミットf4c50a4034e6として2026年5月8日に提供されました。

CVE-2026-43500:RxRPC ページキャッシュ書き込み

rxrpcモジュール(AFS・Andrew File Systemで使われるRxRPCプロトコル実装)に存在する欠陥です。2023年6月にesp4/esp6と同様のインプレース高速パターンがrxrpcに追加された際に導入されました。

このバリアントはユーザー名前空間の作成を必要としないため、Ubuntuでも利用可能です。ただしrxrpc.koモジュール自体がデフォルトカーネルパッケージに含まれているディストリビューションは限られています。Ubuntuはrxrpc.koをデフォルトで含んでいるため、UbuntuではCVE-2026-43500の経路でDirty Fragが機能します

2026年5月8日現在、このバリアントのパッチはまだ提供されていません。

攻撃チェーン(ESPバリアント)の具体的なステップ

1. vmsplice()で /usr/bin/su のページキャッシュページをパイプにアタッチ
   ↓
2. AF_KEY or XFRM netlinkで攻撃者選択の暗号・鍵・SPIでXFRM SAを設定
   ↓
3. splice()でパイプをESPカプセル化設定済みUDPソケットに接続
   ↓
4. 細工したESPデータグラムをループバックに送信
   ↓
5. カーネルが「攻撃者選択の鍵で」スプライスされたページ上でインプレース復号
   → /usr/bin/su のキャッシュページに192バイトのx86_64スタブを書き込み
   (setuid(0); setgid(0); execve("/bin/sh"))
   ↓
6. suを実行 → rootシェル取得

この攻撃はレースコンディションに依存しないため、従来のLPE手法より信頼性が高く、繰り返し安定して成功します。

コンテナ環境における注意点

コンテナワークロードはホストカーネルのエクスポージャーを引き継ぎます。制約のないDockerや標準的なコンテナd・多くのKubernetesポッドはAF_KEY・XFRMネットリンク・AF_RXRPCソケットの作成が可能な状態であるため、コンテナ内の非特権プロセスからDirty Fragを使ってホストのroot権限を奪取できます(コンテナエスケープ)。

パッチの状況と緊急の緩和策

パッチの現状(2026年5月8日時点)

CVE-2026-43284(esp4/esp6)のパッチはLinuxカーネルメインラインにコミットf4c50a4034e6として提供され、Ubuntu・AlmaLinux・RHELなど主要ディストリビューションへの配布も開始されています。CVE-2026-43500(rxrpc)のパッチは2026年5月8日時点で未提供です。

パッチ適用が最も確実な対応策です。以下のコマンドでカーネルを更新してください。

# RHEL / AlmaLinux / CentOS
sudo dnf clean metadata && sudo dnf upgrade && sudo reboot

# Ubuntu / Debian
sudo apt update && sudo apt dist-upgrade && sudo reboot

暫定緩和策—脆弱なモジュールの無効化

パッチが適用できない場合の暫定措置として、以下のコマンドで脆弱なカーネルモジュールをブロックできます。

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; true"

適用前の重要な注意事項として、esp4/esp6を無効化するとIPsec VPN・strongSwan・Libreswanを利用しているトンネルが機能停止します。rxrpcを無効化するとAFS(Andrew File System)クライアントが機能停止します。これらを利用している環境では代替手段を検討してください。

ESP バリアントのみの代替緩和策(IPsec利用環境向け)

IPsecが必須の環境では、非特権ユーザー名前空間を無効化することでCVE-2026-43284(ESPバリアント)のみをブロックできます。ただしこれはCVE-2026-43500(RxRPCバリアント)をブロックしません


echo "user.max_user_namespaces=0" > /etc/sysctl.d/dirtyfrag.conf sysctl --system

この設定を適用するとルートレスコンテナ・サンドボックス化されたブラウザ・Flatpakにも影響します。

現在モジュールがロードされているか確認する方法

grep -qE '^(esp4|esp6|rxrpc) ' /proc/modules && echo "影響を受けるモジュールがロードされています" || echo "影響を受けるモジュールはロードされていません"

侵害済みの可能性がある場合の対応

緩和策適用後、攻撃前にページキャッシュが改ざんされていた可能性がある場合はページキャッシュを破棄してクリーンな状態にします。

echo 3 > /proc/sys/vm/drop_caches

パッチなしでのPoC公開

今回の事案で特筆すべきは、適切な調整開示プロセス(Coordinated Disclosure)が第三者によって妨害されたという点です。

Hyunwoo Kim氏は2026年4月30日にLinuxカーネルメンテナーへ脆弱性を報告しました。通常の調整開示では、各ディストリビューションがパッチを準備・テスト・配布できる猶予期間(エンブレーゴ期間)が設けられます。しかし今回は無関係の第三者がエンブレーゴを破ってしまったため、ディストリビューションへのパッチ配布が間に合わない状態でKim氏がPoC付きで公開せざるを得なくなりました。

これにより、パッチが利用できない段階から動作するPoCが公開状態となり、攻撃者が即座に悪用できる期間が発生しました。Microsoft Defender Security Research Teamはまさにこのタイミングで実際の攻撃への悪用を確認しています。

情シス・インフラ担当者へのポイント

本脆弱性の重要な特徴として、SSHアクセス・Webシェル・コンテナ侵害・低権限アカウント漏洩など、「初期侵害」が発生した際の権限昇格手段として積極的に悪用されるという点があります。つまり、まず境界防御を突破された後の被害拡大を大幅に加速させる脆弱性です。

カーネルアップデートの最優先化として、Linuxサーバーのカーネルを即時にアップデートしてください。特にインターネット公開サーバー・開発サーバー・マルチテナント環境・コンテナホストは緊急対応が必要です。

コンテナ環境の追加セキュリティとして、KubernetesのSeccomp・AppArmor・SELinux等のセキュリティポリシーを確認し、AF_KEY・XFRMネットリンク・AF_RXRPCソケット作成を制限してください。

CISAのKEVカタログとの関連として、Copy FailはCISAのKEVカタログにも登録された脆弱性です。Dirty Fragも同様に積極的な悪用が確認されており、今後KEVに追加される可能性があります。

参考情報