信頼度ランク
| S | 公式ソース確認済み |
| A | 成功実績多数・失敗例少数 |
| B | 賛否両論 |
| C | 動作未確認・セキュリティリスク高 |
| Z | 個人所感 |
Dirty Frag(CVE-2026-43284/43500)——LinuxカーネルのIPsec・RxRPC欠陥で非特権ユーザーがrootになれる仕組みと対策
Linuxカーネルに存在するDirty Frag(CVE-2026-43284/43500)はIPsec(ESP)とRxRPCのページキャッシュ書き込みプリミティブを悪用し、非特権ユーザーが1コマンドでrootを取得できるLPE。公開PoCで実証済み、コンテナ脱出も可能。
一言結論
Dirty FragはLinuxカーネルのIPsec(ESP)とRxRPCが持つページキャッシュ書き込みプリミティブを連鎖させ、非特権ローカルユーザーが1コマンドでrootに昇格できるLPE。公開PoCが存在しコンテナ脱出にも悪用可能。カーネル更新が第一の対策で、更新不能環境ではモジュールのブラックリスト登録が有効。
何が起きたか
2026年5月7日、セキュリティ研究者がLinuxカーネルに存在する深刻なローカル権限昇格(LPE)脆弱性チェーンを公開した。Dirty Frag と命名されたこの脆弱性は2つのCVEで構成される。
脆弱性情報:
CVE-2026-43284 xfrm-ESP(IPsec)ページキャッシュ書き込み
CVSS 3.1: 8.8 HIGH(kernel.org CNA採点)
CVE-2026-43500 RxRPCページキャッシュ書き込み
CVSS 3.1: 7.8 HIGH(Canonical採点)
公開日: 2026年5月7日
PoC公開: あり(1コマンドでroot取得可能)
パッチ公開: 2026年5月8日(カーネルメインライン)
影響ディス: Ubuntu, RHEL, CentOS Stream, AlmaLinux,
Fedora, openSUSE, OpenShift
MicrosoftセキュリティブログはDirty Fragを「ポスト侵害リスクを拡大させる積極的な攻撃」として観測済みと報告している。
脆弱性の仕組み
根本原因:インプレース復号の所有権チェック欠如
IPsecの暗号化プロトコル(ESP)とRxRPCは受信ネットワークデータをコピーせずインプレースで復号する最適化を採用している。
通常の安全な設計:
ネットワーク受信バッファ → [コピー] → 新規バッファ → 復号処理
利点: 元のメモリ領域を汚染しない
脆弱な実装(Dirty Frag):
ネットワーク受信バッファ → 直接インプレース復号
欠陥: カーネルは「そのメモリが誰のものか」を検証しない
この欠陥により、攻撃者は以下の手順で権限昇格を実現できる。
攻撃フロー(概念):
1. 偽のネットワークパケットを作成
- ペイロードメモリを /usr/bin/su のページキャッシュから借用
2. カーネルの復号処理を自分の鍵で設定
- 「復号後の出力」= 攻撃者が選んだ任意バイト列
3. カーネルがインプレース復号を実行
- 実際には /usr/bin/su のRAM上のコピーに
攻撃者のシェルコードを書き込む
4. su コマンド実行
- すでにRAM内のsu はシェルコードになっている
→ 非特権ユーザーが root を取得
コンテナ環境での追加リスク
コンテナデプロイメントでは、コンテナ脱出(Container Escape) にも悪用できる。
脆弱なシナリオ:
コンテナ内の非特権プロセス
→ Dirty Frag LPE → コンテナ内root
→ /usr/bin/su のページキャッシュはホストと共有
→ ホスト権限昇格へ
影響範囲:
✓ 非コンテナ環境: ローカルユーザー → root
✓ コンテナ環境: コンテナ内 → ホストroot(環境依存)
✗ リモート悪用: ローカルアクセスが前提
影響を受けるカーネルコンポーネント
| コンポーネント | CVE | プロトコル | 用途 |
|---|---|---|---|
| esp4 / esp6 | CVE-2026-43284 | IPsec ESP | VPN, サイト間暗号化 |
| rxrpc | CVE-2026-43500 | RxRPC | AFS(Andrew File System) |
| xfrm ESP-in-TCP | CVE-2026-46300 | IPsec | ESP-over-TCP |
CVE-2026-46300は後から追加されたFragnesia亜種で、RHEL Security Advisory RHSB-2026-003に含まれている。
対策
優先度1: カーネルアップデート(推奨)
# Ubuntu/Debian
sudo apt update && sudo apt upgrade linux-image-generic
# RHEL/CentOS/AlmaLinux
sudo dnf update kernel
# Fedora
sudo dnf update kernel
# openSUSE
sudo zypper update -t package kernel-default
# アップデート後は再起動が必要
sudo reboot
各ディストリビューションのパッチ状況:
- Ubuntu: パッチ済みカーネルとKernel Livepatches(ダウンタイムなし)が提供済み
- RHEL/CentOS Stream/AlmaLinux: RHSB-2026-003対応済み
- CloudLinux: KernelCareライブパッチ提供済み
優先度2: モジュールのブラックリスト登録(更新不能環境向け)
# /etc/modprobe.d/dirty-frag-mitigation.conf を作成
# ESP/IPsecが不要な場合
echo "blacklist esp4" | sudo tee -a /etc/modprobe.d/dirty-frag-mitigation.conf
echo "blacklist esp6" | sudo tee -a /etc/modprobe.d/dirty-frag-mitigation.conf
echo "blacklist xfrm4_mode_tunnel" | sudo tee -a /etc/modprobe.d/dirty-frag-mitigation.conf
# AFS/RxRPCが不要な場合
echo "blacklist rxrpc" | sudo tee -a /etc/modprobe.d/dirty-frag-mitigation.conf
sudo depmod -a && sudo dracut -f
⚠️ IPsecを使用しているシステムではVPN/サイト間通信が停止する。EPSモジュールのブラックリスト登録はIPsecが必須でない環境にのみ適用すること。
優先度3: 非特権ユーザー名前空間の無効化(軽減策)
# カーネルランタイムパラメータ変更(一時的)
sudo sysctl -w kernel.unprivileged_userns_clone=0
# 永続化
echo "kernel.unprivileged_userns_clone=0" | sudo tee -a /etc/sysctl.d/99-dirty-frag.conf
sudo sysctl -p /etc/sysctl.d/99-dirty-frag.conf
ただしこれはリスク軽減であり、完全な修正ではない。DockerやNamespaceを使う一部ツールが動作しなくなる可能性がある。
影響確認コマンド
# 現在のカーネルバージョン確認
uname -r
# パッチ済みコミット(メインライン)を含むか確認
# CVE-2026-43284: f4c50a4034e6 を含むか
# CVE-2026-43500: aa54b1d27fe0 を含むか
# espモジュールのロード状況確認
lsmod | grep -E 'esp|rxrpc|xfrm'
# 非特権ユーザー名前空間の状態確認
cat /proc/sys/kernel/unprivileged_userns_clone
落とし穴・注意点
- PoCは1コマンドで動作する: ローカルアクセスさえあれば専門知識なしに悪用できる。内部脅威(malicious insider)・CI/CDパイプラインのビルドワーカー侵害・Webアプリ経由でシェルを取られた段階でも即時root昇格に利用される
- コンテナ分離は完全保護ではない: AppArmor/seccompプロファイルで緩和できるケースもあるが、共有ページキャッシュを持つ環境では脱出リスクが残る
- カーネルライブパッチを使うなら提供元を確認する: TuxCare(KernelCare)はパッチ提供済みだが、使用前にリポジトリとハッシュを検証すること
- CVE-2026-46300(Fragnesia)も忘れずに: RHELのSecurity Advisory RHSB-2026-003には3つ目のCVEが含まれる
まとめ
Dirty FragはIPsecの最適化パスを悪用してページキャッシュを書き換えるという、技術的に巧妙なLPE手法だ。公開PoCで即座に悪用可能な点、コンテナ脱出にも使える点が深刻さを増している。対策の優先順位はカーネル更新 → モジュールブラックリスト → 名前空間無効化の順で、再起動を伴うカーネル更新が根本的な解決策だ。
参考リンク
- Dirty Frag (CVE-2026-43284) Linux Privilege Escalation - Wiz Blog
- Linux Kernel Dirty Frag LPE Exploit - The Hacker News
- RHSB-2026-003 Dirty Frag - Red Hat Customer Portal
- Dirty Frag vulnerability mitigations - Ubuntu Blog
- Active attack: Dirty Frag - Microsoft Security Blog
- Detecting Dirty Frag - Sysdig
- KernelCare Live Patches for Dirty Frag - TuxCare
- r/programming: Dirty Frag Linux LPE discussion
未確認事項: CVE-2026-46300(Fragnesia亜種)のCVSSスコアはRHEL発表時点では未採点。コンテナ脱出の可否は使用するコンテナランタイムとseccompプロファイルの設定に依存するため、環境ごとの検証が必要。