Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
XCP_ng_CVE-2026-43284_tester — CVE-2026-43284 用テスター | Kitploit
ツール/GitHubGitHub/grabesec/xcp_ng_cve-2026-43284_tester
脆弱性分析エクスプロイトペネトレーションテストクラウドセキュリティ学習と教育バイナリエクスプロイトラボと実践
GitHubgrabesec/xcp_ng_cve-2026-43284_tester

XCP_ng_CVE-2026-43284_tester

CVE-2026-43284 用テスター

リポジトリを見る
3ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

XCP-ng Dirty Frag 診断 — CVE-2026-43284

Platform Kernel CVE CVSS License

XCP-ng dom0 ホストが CVE-2026-43284(「Dirty Frag」)に曝露されているかどうかを判定するコミュニティ製診断ツールです。これは、Linux カーネルの xfrm-ESP サブシステムにおけるローカル権限昇格の脆弱性です。

TL;DR(要約) — 標準の 4.19 dom0 カーネルを実行している現在の XCP-ng リリース(8.1、8.2、8.3)はすべて、脆弱なコード範囲に該当します。2026年5月現在、公式の XCP-ng パッチは公開されていません。このツールは、お使いのホストが曝露されているかどうかを明確に判定し、安全な暫定緩和策を提供します。


背景

「Dirty Frag」は、研究者の Hyunwoo Kim(@v4bel)によって2026年5月に公開されたローカル権限昇格の脆弱性です。2017年1月(カーネル 4.14 以降)に導入された、Linux カーネルの IPsec ESP サブシステムにおけるインプレース復号の高速パスを悪用します。動作する公開実証コード(PoC)は、カーネルエクスプロイトを一切必要とせず、標準のシステムコール経由で root シェルを取得します。

公開された CVE は次の2件です:

CVEサブシステム導入時期XCP-ng 4.19 に適用?
CVE-2026-43284xfrm-ESP(esp4/esp6)カーネル 4.14、2017年1月はい
CVE-2026-43500RxRPC(rxkad)カーネル 6.4、2023年6月いいえ — rxrpc.ko は同梱されていません

XCP-ng では CVE-2026-43500 が悪用可能である必要はありません。 XCP-ng dom0 には AppArmor ポリシーがなく、非特権ユーザー名前空間の作成が許可されているため、esp4 パス(CVE-2026-43284)だけで十分です。これは esp4 エクスプロイトパスが要求する唯一の前提条件です。完全な分析については TECHNICAL.md を参照してください。


このツールの機能

診断スクリプトは、XCP-ng 上の CVE-2026-43284 に対する必要十分条件をテストします。すなわち、非特権プロセスがユーザー名前空間内で XFRM netlink インターフェースを介して esp4 インプレース復号エンジンを作動させることができるかどうかです。

このツールは以下のことは行いません:

  • 権限昇格の試行
  • エクスプロイトペイロードの書き込み
  • システムファイルの変更
  • 永続的な痕跡の残置(XFRM 状態は終了時にクリーンアップされます)

本番 dom0 上で実行しても安全です。


クイックスタート

root@kitploit:~
# Clone the repository
git clone https://github.com/grabesec/XCP_ng_CVE-2026-43284_tester.git
cd XCP_ng_CVE-2026-43284_tester

# Run the diagnostic (as non-root for the strongest proof)
python3 XCP_ng_CVE_2026_43284_tester.py

注意: 可能な場合は非 root ユーザーとして実行してください。これにより、侵害されたサービスアカウントや dom0 に到達するゲストエスケープといった現実の脅威モデルをシミュレートします。root で実行しても有効な結果は得られますが、実証性は低くなります。


想定される出力 — 脆弱なホスト

root@kitploit:~
=================================================================
  XCP-ng Dirty Frag Diagnostic -- CVE-2026-43284
  xfrm-ESP Page-Cache Write / Local Privilege Escalation
=================================================================
  Kernel  : 4.19.0+1
  Host    : xcpng-prod-01
  PID     : 52306  |  UID: 1000
=================================================================

[Phase 0] Pre-flight environment checks
---------------------------------------------
[*] Unprivileged user namespaces : ALLOWED
[*] esp4 blacklist in modprobe.d  : NOT FOUND
[*] CVE-2026-43284 patch in kernel RPM : NOT FOUND

[Phase 1] Baseline esp4 module state
---------------------------------------------
[*] esp4 is DORMANT -- not currently loaded in the kernel.
    The autoload mechanism may fetch it on demand via XFRM.

[Phase 2] Attempting esp4 engagement from unprivileged namespace
---------------------------------------------
[*] Spawning child in isolated user+network namespace
    (unshare -U -n -r) -- simulating a non-root local attacker

[*] Child signal    : XFRM SA accepted by kernel
[*] esp4 refcount   : 0 (before)  ->  1 (now)
[*] /proc/modules   : esp4 16384 1 - Live 0xffffffffc0a12000

[Phase 3] Engineering verdict
=================================================================

  [!!!]  PROOF OF EXPOSURE -- CVE-2026-43284  [!!!]

  esp4 refcount increased: 0 -> 1

  An unprivileged process inside a user+network namespace
  successfully registered an XFRM Security Association and
  engaged the esp4 in-place decryption engine in the host
  kernel. This is the gate condition for CVE-2026-43284.

  XCP-ng-specific analysis:
    [FAIL] Kernel 4.19 carries the vulnerable code (since 4.14)
    [FAIL] User namespaces are open -- esp4 path is reachable
    [OK]   rxrpc.ko absent -- CVE-2026-43500 does not apply
    [FAIL] esp4 path alone is sufficient on this configuration

想定される出力 — 緩和済みホスト

root@kitploit:~
[Phase 0] Pre-flight environment checks
---------------------------------------------
[+] esp4 blacklist found in /etc/modprobe.d/
    Module-load mitigation appears to be in place.
...
[Phase 2] Attempting esp4 engagement from unprivileged namespace
---------------------------------------------
[+] XFRM state add was REJECTED by the kernel.
    The esp4 engine was not engaged from the namespace.

[RESULT] The namespace loophole did NOT grant esp4 access.

緩和策

自動(推奨)

同梱の mitigate.sh スクリプトは、トンネルを壊さないように IPsec 検出機能を内蔵し、緩和策を安全に適用します:

root@kitploit:~
# Check current status only (no changes)
sudo ./mitigate.sh --check

# Apply mitigation (aborts if IPsec is detected)
sudo ./mitigate.sh

# Remove mitigation (after applying official kernel patch)
sudo ./mitigate.sh --undo

手動

オプション A — IPsec を使用していないホスト(ほとんどの dom0):

root@kitploit:~
echo 'install esp4 /bin/false' > /etc/modprobe.d/dirtyfrag-cve-2026-43284.conf
rmmod esp4 2>/dev/null || true
echo 3 > /proc/sys/vm/drop_caches

オプション B — IPsec を使用しているホスト(strongSwan / Libreswan):

esp4 をブラックリスト化しないでください。すべてのトンネルが即座に壊れます。代わりに以下の対応を行ってください:

  • dom0 へのシェルアクセスを、信頼できる管理者アカウントの最小限のセットに制限する
  • XCP-ng のアップデート告知で公式カーネルパッチを監視する

⚠️ これはローカル権限昇格です。 攻撃者はすでに dom0 上でシェルまたはコード実行権限を持っている必要があります。第一の防御策は、そもそも dom0 にローカルアクセスできる人物を制限することです。dom0 の root = ハイパーバイザーの root = すべてのゲスト VM の侵害。


必要条件

必要条件備考
Python 3.6+

外部 Python ライブラリは不要です。pip install も必要ありません。


ファイル

root@kitploit:~
XCP_ng_CVE-2026-43284_tester/
├── XCP_ng_CVE_2026_43284_tester.py   # Diagnostic script — run this first
├── mitigate.sh                        # Mitigation script with IPsec detection
├── README.md                          # This file — quick start and overview
├── TECHNICAL.md                       # Deep technical analysis — attack chain,
│                                      # why rxrpc is not needed on XCP-ng,
│                                      # script internals explained
├── CHANGELOG.md                       # Version history
└── LICENSE                            # MIT

技術詳細

以下についての完全な説明は:

  • Dirty Frag が機械的にどのように動作するか(ページキャッシュ書き込みプリミティブ)
  • CVE-2026-43500(RxRPC)が、Ubuntu では攻撃チェーンを完成させるにもかかわらず、XCP-ng では無関係である理由
  • XCP-ng dom0 に固有の完全な6ステップ攻撃チェーン
  • 診断スクリプトの各セクションがどのように機能するか

TECHNICAL.md を参照してください。


パッチ状況

監視先:https://xcp-ng.org/forum/topic/365/updates-announcements


責任ある開示に関する注記

本ツールは、悪用の前提条件(名前空間 + esp4 アクセス)のみをテストします。エクスプロイトコードは含んでおらず、再現も参照もしていません。基盤となる脆弱性は公知であり、元の研究者による実証コード(PoC)が公開され、CVE が割り当てられています。本ツールの目的は、XCP-ng 管理者が自身の曝露状況を把握し、Vates による公式カーネルパッチを待つ間に暫定緩和策を適用できるようにすることです。


参考文献

  • CVE-2026-43284 — NVD
  • 元の解説記事 — Hyunwoo Kim(@v4bel)
  • Microsoft Security Blog — アクティブ攻撃に関する勧告
  • Sysdig — 検出ガイダンス
  • XCP-ng アップデート告知
  • カーネル修正コミット(アップストリーム)

著者

Rodrigo Gracia — コミュニティセキュリティへの貢献
XCP-ng / Xen Orchestra 実践者
https://github.com/grabesec
2026年5月

ツールをダウンロード
XCP-ng 8.x dom0 に同梱済み
iproute2(ip コマンド)XCP-ng 8.x dom0 に同梱済み
unshareutil-linux の一部。XCP-ng 8.x dom0 に同梱済み
Linux カーネルXCP-ng dom0 上の任意のカーネル 4.14–6.x
XCP-ng バージョンカーネル脆弱?公式パッチ?
8.3 LTS4.19 + Vates patchesはい2026年5月現在未公開
8.24.19 + Vates patchesはい2026年5月現在未公開
8.1(EOL)4.19 + Vates patchesはい予定なし