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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
XCP_ng_CVE-2026-31431_tester — 非破壊型検出器。XCP-ng 8.3 Dom0 における CVE-2026-31431(Copy Fail)のローカル権限昇格を検出し、ページキャッシュ破損テストを通じてカーネルの脆弱性を検証します。 | Kitploit
ツール/GitHubGitHub/grabesec/xcp_ng_cve-2026-31431_tester
脆弱性分析エクスプロイトペネトレーションテストクラウドセキュリティ
GitHubgrabesec/xcp_ng_cve-2026-31431_tester

XCP_ng_CVE-2026-31431_tester

非破壊型検出器。XCP-ng 8.3 Dom0 における CVE-2026-31431(Copy Fail)のローカル権限昇格を検出し、ページキャッシュ破損テストを通じてカーネルの脆弱性を検証します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-31431「Copy Fail」— XCP-ng ラボラトリ検出器

CVE-2026-31431(「Copy Fail」)向けの安全で非破壊的な検出スクリプトです。XCP-ng 8.3 LTS(2026年5月5日のセキュリティ更新前)で検証済みです。

⚠️ 許可された用途のみ。 このスクリプトは、所有しているシステム、または明示的にテストを許可されたシステムでのみ実行してください。


背景

CVE-2026-31431(通称「Copy Fail」)は、Linuxカーネルのalgif_aead暗号化インターフェースにおけるローカル権限昇格(LPE)の脆弱性です。2017年に導入されたauthencesnテンプレートの論理的な欠陥により、権限のないローカルユーザーが、読み取り可能な任意のファイルのカーネルページキャッシュに対して制御された4バイト書き込みを実行でき、rootへの権限昇格が可能になります。

  • CVSS 3.1: 7.8(高)
  • 影響を受けるカーネル: 4.14から6.18.21、6.19.12より前の6.19.x
  • 導入時期: Linuxカーネル4.14(2017年)
  • 公開日: 2026年4月29日、Taeyang Lee / Theori(Xint Code)による
  • 上流修正: Herbert Xuによるコミットa664bf3d603d

XCP-ngにとって重要な理由

XCP-ngのDom0制御ドメインはLinuxカーネル上で動作し、ハイパーバイザーの管理層です。Dom0へのシェルアクセスを持つ権限のないユーザー(CI/CDパイプライン、監視エージェント、バックアップツール、自動化のために作成されたサービスアカウントを含む)は、この脆弱性を悪用してrootを取得できます。Dom0でrootを取得すると、そのホスト上のすべてのゲストVMが侵害されます。

デフォルトのXCP-ngインストールでは、非rootユーザーとして実行されるプロセスが非常に少ないため、露出は最小限です。実際のリスクは、オペレーターがシェルアクセスを制限せずに正当な目的でサービスアカウントを追加するにつれて、時間とともに蓄積されます。

Dom0のサービスアカウントを監査します:

root@kitploit:~
awk -F: '$7 ~ /bash|sh/' /etc/passwd

このスクリプトの機能

これはラボラトリ検出器であり、権限昇格ツールではありません。以下のことを行います:

  • 一時ディレクトリに、実行ユーザーが所有する一時センチネルファイルを作成します
  • そのファイルに対してalgif_aead / authencesnページキャッシュスクラッチ書き込みプリミティブのトリガーを試みます
  • ページキャッシュの破損が検出されたかどうかを報告します(脆弱性の確認)
  • 終了時にすべての一時ファイルをクリーンアップします

システムバイナリ、/etc/passwd、その他のシステムファイルには一切触れません。 ページキャッシュの破損はメモリ内のみで発生し、ディスクへの書き戻しは行われません。


要件

  • Python 3.10以上(os.spliceに必要)
  • 標準ライブラリのみ — pipインストールは不要
  • 脆弱なカーネルを実行しているDom0上の非rootユーザーシェル

使用方法

root@kitploit:~
python3 xcp_ng_cve_2026_31431_tester.py

終了コード

コード意味
0破損は観察されませんでした — システムはパッチ適用済み、またはalgif_aeadが無効化されている可能性があります
1トリガーエラー — algif_aeadが利用できないか、ブロックされている可能性があります
2脆弱 — ページキャッシュの破損が確認されました

注記: パッチ適用済みシステムでの終了コード1は、スクリプトエラーではなく期待される動作です。authencesnがカーネルレベルで無効化されている場合(XCP-ng 5月5日の修正のように)、ソケットバインドは失敗し、スクリプトはコード1で終了します。


XCP-ngパッチ適用状況

日付イベント
2026年4月29日CVE-2026-31431が公開開示
2026年5月4日VATESがVSA-2026-013を公開
2026年5月5日XCP-ng 8.3 LTS 5月セキュリティ更新リリース — カーネル修正が利用可能

修正の適用

XCP-ngホストを更新して再起動します:

root@kitploit:~
yum update
reboot

再起動後、更新されたカーネルが実行されていることを確認します:

root@kitploit:~
uname -r

パッチ適用後にこの検出スクリプトを再実行します。パッチ適用済みシステムでは、脆弱なauthencesnテンプレートが利用できなくなるため、終了コード1(トリガーエラー)が返されます。

注記: XCP-ngの修正では、脆弱なauthencesnコンポーネントの削除に伴い、IPSec ESNサポートが無効化されます。ほとんどの環境では実質的な影響はありません。VATESは、適切な修正によりこの機能を将来のパッチで復元する可能性があると示しています。


カーネル構成の確認

緩和策を適用する前に、algif_aeadがモジュール(=m)としてコンパイルされているか、カーネルに組み込まれているか(=y)を確認します:

root@kitploit:~
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
  • =m — モジュールベース。modprobeブラックリストが機能します
  • =y — カーネルに組み込み。modprobeブラックリストは静かに失敗し、保護を提供しません

=yのRHEL系カーネルの場合は、代わりにgrubbyブートパラメータを使用します:

root@kitploit:~
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot

参考情報

  • VSA-2026-013 — VATESセキュリティアドバイザリ
  • XCP-ng 2026年5月セキュリティ更新
  • Copy Fail — Xint/Theori技術解説
  • copy.fail — 公式開示ページ
  • CVE-2026-31431 — NVD
  • 上流カーネル修正 — コミット a664bf3d603d
  • rootsecdevによる元の検出器

クレジット

  • 脆弱性の発見: Taeyang Lee / Theori(Xint Code)
  • 上流カーネル修正: Herbert Xu
  • 元の検出スクリプト: rootsecdev
  • XCP-ngへの適用と検証: Rod(このリポジトリ)

ライセンス

このスクリプトは、rootsecdevの元の作品の修正派生版です。再配布前に上流リポジトリのライセンスを確認し、その条件に準拠して使用してください。


このスクリプトは、2026年5月5日時点でパッチ未適用のカーネルを実行しているXCP-ng 8.3 LTSで検証されました。まだ適用していない場合は、公式のVATESセキュリティ更新を直ちに適用してください。

ツールをダウンロード