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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-43494-PinTheft-PoC — CVE-2026-43494 (PinTheft) の概念実証: io_uring固定バッファを用いたRDS zerocopy参照カウントバグを悪用し、SUIDバイナリのページキャッシュを上書きすることでLinuxカーネルのローカル権限昇格を実現する。 | Kitploit
ツール/GitHubGitHub/letsr00t/cve-2026-43494-pintheft-poc
特権昇格脆弱性分析エクスプロイトCTF学習と教育バイナリエクスプロイトラボと実践
GitHubletsr00t/cve-2026-43494-pintheft-poc

CVE-2026-43494-PinTheft-PoC

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-43494 (PinTheft) の概念実証: io_uring固定バッファを用いたRDS zerocopy参照カウントバグを悪用し、SUIDバイナリのページキャッシュを上書きすることでLinuxカーネルのローカル権限昇格を実現する。

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

SLEY — PinTheft PoC (CVE-2026-43494)

SLEY PoC — uid 1000 to root on WSL2

概念実証 — `uid=1000(raken)` → `uid=0(root)` after `./sley` on WSL2 (`6.6.87.2-microsoft-standard-WSL2`)

CVE-2026-43494 Linux LPE io_uring RDS

CVE-2026-43494(PinTheft)の単一ファイル概念実証です。これは、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. 偵察 — CPU 0 に固定、読み取り可能な SUID バイナリ(su、mount、passwd など)を見つける。
  2. io_uring のセットアップ — 匿名ページを固定バッファとして登録する(FOLL_PIN バイアス ≈ 1024)。
  3. Pin の窃取 — 失敗する RDS zerocopy 送信を大量に実行する。各失敗で最初にピン留めされたページの参照が余分に解放される可能性がある。
  4. 回収と上書き — munmap でページを解放し、SUID ターゲットを再度開いてページキャッシュの回収と競合させる。古い固定バッファメタデータにより、小さな x86_64 ELF スタブをキャッシュに書き込める。
  5. 昇格 — execve で SUID バイナリを実行し、注入されたスタブが 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
# またはお使いのディストリビューションの同等のヘッダーパッケージ

権限

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

暴露チェック(読み取り専用)

root@kitploit:~
# 修正済み? (例 — お使いのディストリビューションに合わせて調整)
uname -r
grep -r CVE-2026-43494 /usr/share/doc/linux* 2>/dev/null || true

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

# io_uring 有効?
cat /proc/sys/kernel/io_uring_disabled  # 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              # このファイル
├── proof-of-concept.jpg   # スクリーンショット: 成功した LPE (uid 1000 → root)
├── sley.c                 # 単一ファイル PoC + ターミナル UI
└── .gitignore

参考文献

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

法的免責

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


ライセンス

MIT — 必要に応じてリポジトリのライセンスファイルを参照してください。責任を持って使用してください。

ツールをダウンロード
項目詳細
CVECVE-2026-43494
公開名PinTheft
コンポーネントnet/rds — zerocopy 送信パス(rds_message_zcopy_from_user)
プリミティブページピン失敗時の二重 put_page() → FOLL_PIN 参照の窃取
悪用方法io_uring 固定バッファ + RDS 失敗 zerocopy → ページキャッシュの UAF 書き込み
影響脆弱な設定でローカルルート取得
上流修正e17492979319
対策備考
カーネルのパッチ適用コミット e17492979319 を含む安定版修正を適用
RDS の無効化不要な場合は modprobe -r rds_tcp rds(および自動ロードのブロック)
io_uring の制限sysctl で kernel.io_uring_disabled=1 または 2
最小権限不要な SUID バイナリを削除、強化プロファイルでコンテナを使用
監視RDS zerocopy 失敗のバースト + io_uring バッファ登録パターンを警告