
CVE-2026-43284(DirtyFrag)Linux LPEのラボ検証レポートと検出アーティファクト。XFRM/ESPページキャッシュ書き込みパスに対するauditdテレメトリ、イベント相関ルール、SOC向け検出ロジックを提供します。
範囲: CVE-2026-43284 に関連する XFRM/ESP パスに焦点を当てた Linux ローカル権限昇格 (LPE) 検証。
このリポジトリには、公開されている DirtyFrag PoC の制御されたラボ検証からの英語レポートと証拠成果物が含まれています。ここでは、エクスプロイトガイドを提供することではなく、Linux 監査ログで何が可視であったか、およびそれらのイベントを実用的な SOC 検出ロジックに変換する方法を文書化することに焦点を当てています。
完全な PDF レポート:
EN: reports/DirtyFrag_CVE-2026-43284_EN.pdf
PL: reports/DirtyFrag_CVE-2026-43284_PL.pdf
このテストは、脆弱なラボ VM で通常のローカルユーザーが root シェルを取得できるかどうかを検証し、auditd でキャプチャできるイベントを特定するために実施されました。
CVE-2026-43284 は、ESP/IPsec 操作中の共有ページフラグメントの不適切な処理に関連しています。特定の条件下では、ローカル攻撃者がページキャッシュ内のデータに影響を与え、権限を昇格させる可能性があります。Ubuntu Security はこの脆弱性を CVSS 3.1: 7.8 High と評価しています。
| 脆弱性 | スコープ | コンポーネント | CVSS |
|---|---|---|---|
| CVE-2026-43284 | XFRM/ESP Page-Cache Write | XFRM / ESP, esp4/esp6 | 7.8 High |
技術リファレンス:
完全なシステムベースライン: evidence/logs/system-info-table.md
PoC 実行前、テストコンテキストは通常のユーザーアカウントでした。./exp を実行した後、root シェルが取得され、whoami と id で確認されました。

テスト後、auditd ログとサマリー出力がローカルの証拠ディレクトリにエクスポートされ、このリポジトリにコピーされました。






最も有用な検出は単一のイベントではありません。最も強力なシグナルは、短い時間枠内で観測された完全なチェーンです。
user namespace -> vmsplice/splice -> ESP/XFRM -> su -> 通常ユーザーのAUIDを持つrootシェル
IF
dirty_frag_unshare by auid>=1000
AND count(dirty_frag_vmsplice + dirty_frag_splice by same exe or pid) >= 3 within 600s
AND MAC_IPSEC_EVENT / XFRM activity within 1200s
AND (dirty_frag_su_exec OR execve with euid=0 and auid>=1000) within 1200s
THEN
alert = "Possible DirtyFrag CVE-2026-43284 Linux LPE"
severity = high/critical
euid=0 イベントだけでアラートを発生させないでください。これには正当な sudo の使用も含まれます。unshare、vmsplice、splice、XFRM/ESP アクティビティ、su、および通常のユーザーセッションからのルートプロセス作成を相関させます。kernel.unprivileged_userns_clone の制限を検討します。lost は 0 のままである必要があります。収集された auditd ステータスは lost=2555 を示しており、一部の監査イベントがドロップされた可能性があります。主要なチェーンは引き続き可視ですが、今後のテストでは監査バックログを増やし、PoC を実行する前に lost=0 を確認する必要があります。
レポートは意図的に CVE-2026-43284 / XFRM/ESP に焦点を当てており、他の DirtyFrag 関連パスと SOC 検出範囲を混同しないようにしています。
| パラメータ | 値 |
|---|
| ディストリビューション | Ubuntu 24.04.4 LTS / noble |
| テストカーネル | 6.17.0-23-generic |
| アーキテクチャ | x86_64 |
| 仮想化 | Oracle VirtualBox |
| CPU | 12th Gen Intel(R) Core(TM) i5-12450H, 1 vCPU |
| RAM | 12 GiB |
| ルートファイルシステム | ext4 |
| テストユーザー | uid=1000(user), gid=1000(user), グループ: sudo, adm, lpadmin |
| unprivileged_userns_clone | 1 |
| auditd | 有効、DirtyFrag/LPE 監査ルールがロード済み |
| AppArmor | 有効; unprivileged_userns プロファイルがログに表示 |
| パス | 説明 |
|---|
docs/DirtyFrag_CVE-2026-43284_auditd_detection_report.docx | 英語の DOCX レポート。 |
evidence/logs/audit.log | 生のイベントを含む完全な auditd ログ。 |
evidence/logs/dirtyfrag-filtered.log | DirtyFrag/LPE 関連イベントを含むフィルタリングされたログ。 |
evidence/logs/dirty_frag_vmsplice.log | PoC プロセスからの vmsplice イベント。 |
evidence/logs/dirty_frag_splice.log | PoC プロセスからの splice イベント。 |
evidence/logs/dirty_frag_execve_su.log | PoC アクティビティ後の /usr/bin/su の実行。 |
evidence/logs/lpe_root_exec_from_user_session.log | 元のユーザーセッションから root として実行されたプロセス。 |
evidence/logs/audit-key-summary.txt | auditd キーごとのイベントカウントサマリー。 |
evidence/logs/audit-exec-summary.txt | aureport からの実行可能ファイルサマリー。 |
evidence/logs/audit-rules-loaded.txt | アクティブな auditd 検出ルール。 |
evidence/logs/system-info-table.md | システムベースラインテーブル。 |
evidence/screenshots/01-dirtyfrag-root-shell.png | ユーザーから root シェルへの移行を確認するスクリーンショット。 |
tools/generate-system-info-table.sh | システム情報テーブルを生成するために使用されたヘルパースクリプト。 |
| キー | 意味 |
|---|
dirty_frag_unshare | 非特権ユーザーによる unshare の実行; ユーザーネームスペースの準備を示します。 |
dirty_frag_vmsplice | ユーザープロセスからの vmsplice アクティビティ; 主要なページキャッシュシグナル。 |
dirty_frag_splice | ユーザープロセスからの splice アクティビティ; vmsplice と相関。 |
dirty_frag_su_exec / dirty_frag_execve_su | ページキャッシュフェーズ後の /usr/bin/su の実行。 |
lpe_root_exec_from_user_session | auid>=1000 が所有するセッション内での execve (euid=0); 相関時に強力なLPE証拠。 |
| 時間 | イベント | 成果物 | 意味 |
|---|
| 21:10:48 | auditd ルールロード | audit-rules-loaded.txt, audit.log | PoC 実行前に監視がアクティブ。 |
| 21:11:32 | ./exp による unshare | dirtyfrag-filtered.log | ユーザープロセスが unprivileged_userns に入った。 |
| 21:11:32-21:11:39 | ./exp による vmsplice / splice | dirty_frag_vmsplice.log, dirty_frag_splice.log | システムコールテレメトリを通じてページキャッシュ動作が可視。 |
| 21:11:32-21:11:39 | MAC_IPSEC_EVENT / XFRM ESP | audit.log | SPI 0xdeadbeXX を使用した 127.0.0.1 上の SAD-add および SA-icv-failure イベント。 |
| 21:11:39 | su - | dirty_frag_execve_su.log | PoC 実行後に root シェルへの移行を試行。 |
| 21:11:39 | root としての sh / dash | lpe_root_exec_from_user_session.log | UID=root および EUID=root だが AUID=user。 |
| 21:11:48 | root としての whoami | lpe_root_exec_from_user_session.log, スクリーンショット | 昇格成功の手動確認。 |
| 21:11:49 | root としての id | lpe_root_exec_from_user_session.log, スクリーンショット | uid=0(root) の手動確認。 |