Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
IonStack_S21 — Samsung Galaxy S21 を対象とした CVE-2026-43499 のエクスプロイトチェーン研究 | Kitploit
ツール/GitHubGitHub/kurtulusakyuz/ionstack_s21
Androidセキュリティ特権昇格脆弱性分析エクスプロイトリバースエンジニアリングポストエクスプロイトモバイルセキュリティ論文と研究ペイロード開発バイナリエクスプロイト
GitHubkurtulusakyuz/ionstack_s21
87921日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

IonStack_S21

Samsung Galaxy S21 を対象とした CVE-2026-43499 のエクスプロイトチェーン研究

リポジトリを見る

IonStack_S21 — Galaxy S21 (SM-G991B) 向け CVE-2026-43499 リサーチ

このデバイス向けの、動作するアクティブな KernelSU プロジェクト: kurtulusakyuz/dfroot-s21 — まずはそちらから始めてください。このリポジトリは IonStack のリサーチのみを保持しています。

ファームウェア G991BXXSJHZC2 上の Samsung Galaxy S21 (o1s) 向けの デバイス固有 IonStack ペイロード。ステータス: リサーチ CLOSED — 決定論的な DoS のみ; カーネル書き込みパスはこのビルドでは不可能であることが 証明済み。完全な証拠は RESEARCH.md に記載。

項目値
モデルSM-G991B
デバイスo1s
ファームウェアG991BXXSJHZC2
Android15 / API 35 (AP3A.240905.015.A2, fingerprint samsung/o1sxeea/o1s)
ページサイズ4096
カーネル5.4.242-30958140-abG991BXXSJHZC2
SoCExynos 2100
緩和策CFI+PAC+PAN/UAO, KDP_CRED, SELinux enforcing, userfaultfd なし

NebuSec/CyberMeowfia で公開された IonStack CVE-2026-43499 実装 (upstream b850d3bddc74c3328d5fbcc0568d21962b55d949) および BuSung-dev/CVE-2026-43499-S25U に基づき、F-19-F/IonStackQuest3 に感謝します。 上流の Apache License 2.0 は LICENSE に保持されています (NOTICE 参照)。

最終状態 (まずこれを読んでください)

このデバイス向けの GhostLock 書き込みプログラムは完了かつクローズ済みであり、 一時停止ではありません。証明された内容を順に示します:

  1. バグは実在し、存在する。 remove_waiter() は waiter->task->pi_blocked_on ではなく current->pi_blocked_on をクリアするため、 FUTEX_CMP_REQUEUE_PI のロールバックがスタック上の rt_waiter への ダングリングポインタを残します。上流の修正 3bfdc63 は 5.4.242 には存在しません。
  2. トリガーは信頼性がある。 3 スレッドのサイクル (owner → chain → waiter → target デッドロック、main CMP は EDEADLK で失敗) に コンシューマの sched_setattr を加えると、デバイスと同一の Oops (rt_mutex_adjust_prio_chain+0x108 → _raw_spin_trylock+0x1c, fault VA 0) が、KDP なしの QEMU ゲストと実機の両方で再現します (lastkmsg 118/119)。ダングリングスロットは完全にマップされており (スタックトップ E-0x328、ライフサイクルは QEMU+GDB で特性評価済み)。
  3. 書き込みはここでは構造的に不可能である。 9 つの syscall-spray ファミリーが詳細にマッピングされたが、いずれもスロットに到達しない; slab-reclaim は owner-liveness の Catch-22 によってブロックされる; そして決定的な fire-time ダンプは、sigreturn コピーが victim+0x40 にのみ 配送され、walk されるゲートフィールド lock (+0x38) は決して 攻撃者に制御されないことを示している (15/15 ダンプ)。独立した移植 (ASUS i005, AQUOS sigreturn ルート) も同じ壁に突き当たった。確率ではなく、 ジオメトリの問題である。
  4. 生き残るのは決定論的な再起動プリミティブである。 NULL-lock walk はカーネルをパニックさせ、デバイスを再起動させる — 信頼性の高い DoS であり、権限昇格ではない。

関連する 2026 年のカーネル LPE の道も、このビルドではファームウェア設定に よって閉ざされている (USER_NS, RDS, CRYPTO_USER_API_AEAD はすべて未設定; MFC_USE_DMABUF_CONTAINER=n で MFC ダブルフリーは到達不能; AF_ALG/eBPF はシェルに対してゲートされている)。書き込み後の成果物 (この正確なファームウェア向けにビルドされた KernelSU .ko + ksud) は 別途ステージングされている; このツリー内の src/kernelsnitch/ ヘッダは ステージングされたまま未ビルドである (書き込みなしではコンシューマが存在しない)。

レイアウト

Makefile                  build (NDK r27+, ANDROID_NDK_HOME)
src/                      exploit source (o1s profile only)
src/targets/o1s-G991BXXSJHZC2/  target.h + p0_fingerprint.h
src/kernelsnitch/         mm_struct leak (futex hash collision, staged)
tools/                    p0 fingerprint helper
RESEARCH.md               research notes (geometry, verdicts)

ビルド

export ANDROID_NDK_HOME=/path/to/android-ndk
make clean all
# SLIDE_WRITER_SEL=1|2|3 selects mcast/sigreturn(default)/xattr writers.
# Unset selects the experimental pselect writer (see RESEARCH.md).

出力 (build/o1s-G991BXXSJHZC2/): cve-2026-43499 (LD_PRELOAD ペイロード), cve-2026-43499-app.so (アプリペイロード), cve-2026-43499-root (root ヘルパー)。

デプロイと実行

adb push build/o1s-G991BXXSJHZC2/cve-2026-43499 /data/local/tmp/cve-2026-43499
adb push build/o1s-G991BXXSJHZC2/cve-2026-43499-root /data/local/tmp/cve-2026-43499-root
adb shell chmod 755 /data/local/tmp/cve-2026-43499 /data/local/tmp/cve-2026-43499-root
adb shell "LD_PRELOAD=/data/local/tmp/cve-2026-43499 sh"
# on success:
adb shell "/data/local/tmp/cve-2026-43499-root -c 'id; getenforce'"

期待値の管理: このビルドでは「成功」とはトリガー walk とそのオラクル出力を 意味する — NULL-lock walk は root を返す代わりにデバイスを再起動させる (上記「最終状態」参照)。仮に将来の書き込みプリミティブによって root が 達成されたとしても、それは再起動までしか持続しない; 何もフラッシュされない。

ステータス / 警告

  • DoS のみ、書き込みパスは証拠とともにクローズ済み — 完全な説明は RESEARCH.md を参照 (スロットジオメトリ、spray クロージャ、SIGRETURN グランド モデル、決定的な fire-time ダンプ、実機での確認)。
  • タイミングに敏感; カーネルパニックを想定すること。クリーンな slab のために 再起動し、実行中はデバイスをアイドル状態に保つこと。/data/local/tmp は 再起動時に消去される — 起動のたびにバイナリを再プッシュすること。
  • 自分が所有する、または明示的にテストを許可されたデバイスでのみ使用すること。
ツールをダウンロード