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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-43494-PinTheft-PoC — CVE-2026-43494 (PinTheft) の Proof-of-concept: RDS zerocopy の refcount バグ + io_uring 固定バッファを介した Linux LPE → SUID page-cache の上書き。認可された研究のみ。 | Kitploit
ツール/GitHubGitHub/tanzz1337/cve-2026-43494-pintheft-poc
特権昇格脆弱性分析エクスプロイト論文と研究学習と教育バイナリエクスプロイト
GitHubtanzz1337/cve-2026-43494-pintheft-poc

CVE-2026-43494-PinTheft-PoC

CVE-2026-43494 (PinTheft) の Proof-of-concept: RDS zerocopy の refcount バグ + io_uring 固定バッファを介した Linux LPE → SUID page-cache の上書き。認可された研究のみ。

人気

すべて見る →

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

すべてのツールを探索

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

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

SLEY — PinTheft PoC (CVE-2026-43494)

SLEY PoC — WSL2 で uid 1000 から root へ

PoC — WSL2 (6.6.87.2-microsoft-standard-WSL2) 上で ./sley 実行後、uid=1000(raken) → uid=0(root)

CVE-2026-43494 Linux LPE io_uring RDS

CVE-2026-43494 (PinTheft) 向けのシングルファイル PoC です。RDS zerocopy 参照カウントバグ と io_uring 固定バッファ を連鎖させ、SUID-root バイナリのページキャッシュを上書きする、Linux カーネルのローカル権限昇格を実現します。

免責事項: このリポジトリは許可を受けたセキュリティ研究、教育、および防御的テストのみを目的としています。所有していないシステム、またはテストの明示的な許可がないシステムに対してこれを実行することは、違法かつ非倫理的です。著者は誤用に対するいかなる責任も負いません。


概要

元の公開研究と PoC は V12 Security チーム (Aaron Esau) によって公開されました。SLEY は、ラボでの使用と学習を目的に、スタイル付きターミナル UI を備えた独立したコンパクトな再実装です。


動作の仕組み

root@kitploit:~
flowchart LR
    A[mmap anonymous page] --> B[io_uring: register fixed buffer]
    B --> C[Clone buffer table to 2nd ring]
    C --> D[1024× failing RDS zerocopy sends]
    D --> E[Drain FOLL_PIN bias / steal refs]
    E --> F[munmap → page freed]
    F --> G[SUID binary page reclaimed in page cache]
    G --> H[Stale io_uring ptr writes ELF stub]
    H --> I[exec SUID → root shell]
  1. Recon — CPU 0 にピン留めし、読み取り可能な SUID バイナリ (su、mount、passwd、…) を探します。
  2. io_uring setup — 匿名ページを固定バッファとして登録します (FOLL_PIN バイアス ≈ 1024)。
  3. Pin theft — 失敗する RDS zerocopy 送信を大量に送ります。各失敗で、最初のピン留めページの参照を余分に 1 つ減らせます。
  4. Reclaim & overwrite — アンマップによりページが解放されます。SUID ターゲットの再オープンでページキャッシュの再利用 (reclaim) と競合させ、古い固定バッファメタデータを使って小さな x86_64 ELF スタブをキャッシュに書き込みます。
  5. Privesc — SUID バイナリを execve すると、注入されたスタブが root として実行されます。

要件

カーネル / 設定

  • RDS バグが存在する脆弱な (未パッチの) Linux カーネル
  • CONFIG_RDS=y かつ CONFIG_RDS_TCP=y
  • CONFIG_IO_URING=y かつ kernel.io_uring_disabled = 0
  • rds / rds_tcp モジュールがロードされている (または非特権ユーザーが自動ロード可能)
  • 公開チェーンで使用される IORING_REGISTER_CLONE_BUFFERS API には カーネル ≥ 6.13 が必要
  • この PoC に組み込まれたシェル ELF ペイロードには x86_64 が必要

ビルドツール

root@kitploit:~
sudo apt install build-essential linux-libc-dev   # Debian/Ubuntu
# or equivalent headers package on your distro

権限

  • 脆弱なホストでは非特権ローカルユーザーで十分です (これが脅威モデルです)
  • 本番システムでは実行しないでください

曝露の確認 (読み取り専用)

root@kitploit:~
# Patched? (example — adjust for your distro)
uname -r
grep -r CVE-2026-43494 /usr/share/doc/linux* 2>/dev/null || true

# RDS available?
grep CONFIG_RDS /boot/config-$(uname -r) 2>/dev/null
lsmod | grep -E '^rds'

# io_uring enabled?
cat /proc/sys/kernel/io_uring_disabled  # expect 0

ビルド

root@kitploit:~
gcc -O2 -Wall -Wextra -o sley sley.c

静的リンク (任意、最小限のラボイメージ用):

root@kitploit:~
gcc -O2 -static -o sley sley.c

使い方

root@kitploit:~
./sley

すべてのステータス出力は stderr に送られます (ANSI 256 色 UI、プログレスバー、フェーズ別ログ)。ボックス描画 UI には、ターミナルが UTF-8 と truecolor/256 色 に対応している必要があります。

フェーズの例:

root@kitploit:~
PHASE 1 │ Reconnaissance
PHASE 2 │ Memory & io_uring setup
PHASE 3 │ Pin reference theft (RDS zerocopy)
PHASE 4 │ Page cache overwrite & privesc

期待される結果 (脆弱なホスト)

正常に悪用できる構成では、チェーンが完了し、最初のページが上書きされた検出済み SUID バイナリへ受け渡されます。レースとカーネルの状態が噛み合えば、root シェルが得られます。

パッチ済みカーネル、堅牢化されたホスト、または RDS/io_uring がない環境では、PoC は早期に失敗します (SUID ターゲットなし、mmap/io_uring/socket エラーなど)。


緩和策

ディストリビューション固有のセキュリティアドバイザリにはバックポートされたパッチが含まれる場合があります。ベンダーのカーネルセキュリティキューを追跡してください。


プロジェクト構成

root@kitploit:~
.
├── README.md              # This file
├── proof-of-concept.jpg   # Screenshot: successful LPE (uid 1000 → root)
├── sley.c                 # Single-file PoC + terminal UI
└── .gitignore

参照

  • NVD — CVE-2026-43494
  • oss-security — PinTheft の議論
  • カーネル修正コミット

法的情報

本ソフトウェアは研究および教育を目的として現状のまま (as-is) 提供されます。適用される法律を遵守し、所有していないシステムをテストする前に書面による許可を取得することは、利用者の責任です。


ライセンス

MIT — 追加されている場合は、リポジトリのライセンスファイルを参照してください。責任を持って使用してください。

ツールをダウンロード
項目詳細
CVECVE-2026-43494
公開名PinTheft
対象コンポーネントnet/rds — zerocopy 送信パス (rds_message_zcopy_from_user)
プリミティブページピン失敗時の二重 put_page() → FOLL_PIN 参照の窃取
武器化io_uring 固定バッファ + 失敗する RDS zerocopy → ページキャッシュ UAF 書き込み
影響脆弱な構成におけるローカル root 権限の取得
アップストリーム修正e17492979319
対策備考
カーネルのパッチ適用コミット e17492979319 を含む安定版修正を適用する
RDS の無効化不要な場合は modprobe -r rds_tcp rds を実行し、自動ロードもブロックする
io_uring の制限sysctl で kernel.io_uring_disabled=1 または 2 を設定する
最小特権不要な SUID バイナリを削除する。堅牢化されたプロファイルのコンテナを使用する
監視RDS zerocopy 失敗のバーストと io_uring バッファ登録パターンに対してアラートを発報する