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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-43499-aristotle-apk — Androidカーネルエクスプロイト(CVE-2026-43499、Futex-PI use-after-free)で、Xiaomi XIG04上で一時的なroot権限を取得してADBを有効化します。自動化されたペイロードのビルドとワンタップでの有効化を備えています。 | Kitploit
ツール/GitHubGitHub/soralis0912/cve-2026-43499-aristotle-apk
Androidセキュリティ特権昇格脆弱性分析エクスプロイトシェルコードモバイルセキュリティペイロード開発バイナリエクスプロイト

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
soralis0912/cve-2026-43499-aristotle-apk

CVE-2026-43499-aristotle-apk

Androidカーネルエクスプロイト(CVE-2026-43499、Futex-PI use-after-free)で、Xiaomi XIG04上で一時的なroot権限を取得してADBを有効化します。自動化されたペイロードのビルドとワンタップでの有効化を備えています。

リポジトリを見る
5226日前未レビュー

Aristotle ADB 有効化

「開発者向けオプション」に到達できない au/KDDI Xiaomi "aristotle" (XIG04, Android 12) で、CVE-2026-43499 から取得した一時的な root を利用して ADB を有効にする、最小限の Android アプリです。KingRoot と同じカテゴリのデバイスオーナーツールであり、自分のスマートフォンを root 化して設定を 1 つ切り替えるためのものです。

対象範囲: 以下の ROM を実行している自分所有の XIG04 Xiaomi/XIG04_jp_kdi/XIG04:12/SP1A.210812.016/V14.0.3.0.TMFJPKD。 汎用エクスプロイトやリモートエクスプロイトではありません。


動作内容

ボタン 1 つ、仕事は 1 つ:

  1. APK からエクスプロイトペイロード (preload.so) をアプリのプライベート filesDir に展開し、chmod 0700 を実行します。
  2. LD_PRELOAD をそのペイロードに向けた状態で短時間だけ起動する /system/bin/true を実行し、カーネルのバグを発火させます。ペイロードの ELF コンストラクタが Futex-PI の use-after-free をトリガーし、一時 root を取得して、su クライアントとデーモンを自己インストールします。
  3. su -c id を実行して uid=0 を確認し、root を確認します。
  4. root として ADB を有効化します:
    • settings put global development_settings_enabled 1
    • settings put global adb_enabled 1
    • stop adbd; start adbd (setprop ctl.restart adbd にフォールバック)

すべてのステップが画面上のログに出力されます。

脆弱性について

CVE-2026-43499 — Linux カーネルの Futex-PI パス (kernel/locking/rtmutex.c の remove_waiter()) における use-after-free です。aristotle の 5.10.136-android12 カーネルが影響を受けます (CONFIG_FUTEX_PI=y、CONFIG_RT_MUTEXES=y)。このエクスプロイトは、データのみの「ダイレクトルート」( cred の交換、SELinux enforcing の反転) を使用し、デバイスのハードニングを回避するため MTE タグを総当たりで試行します。エクスプロイトのソースと計測済みの aristotle オフセットは、このリポジトリの exploit/ git サブモジュール にあります。


ペイロードは自動的にビルドされます

preload.so は コミットされていません。exploit/ サブモジュールから生成され、ビルド時に APK に埋め込まれます:

  • exploit/ — git サブモジュール: CVE-2026-43499 aristotle エクスプロイト (preload.so をビルドします)。
  • Gradle タスク buildExploitSo (preBuild に組み込み済み) がエクスプロイトの make ... API=31 を実行し、APK がパッケージングされる前に生成された preload.so を app/src/main/assets/exploit/preload.so にコピーします。

したがって、通常の ./gradlew assembleDebug は、Android NDK がインストールされていればペイロードをビルドして同梱します。

ビルド

root@kitploit:~
# 1. fetch the exploit submodule
git submodule update --init --recursive

# 2. install the Android NDK r29 (the exploit Makefile auto-detects it,
#    or export ANDROID_NDK_ROOT), plus JDK 17 and Android SDK platform 34

# 3. build — auto-builds preload.so (API=31) and embeds it
./gradlew assembleDebug          # -> app/build/outputs/apk/debug/app-debug.apk

NDK がない場合やアプリのシェルだけが必要な場合は、ペイロードのビルドをスキップしてください (その場合、アプリは「exploit payload NOT deployed」と報告し、実行時に何も変更しません):

root@kitploit:~
./gradlew assembleDebug -PskipExploitBuild

Wrapper jar: gradle-wrapper.jar はコミットされていません。gradle wrapper --gradle-version 8.2 で一度生成するか、システムの Gradle でビルドしてください (CI はシステム Gradle を使用するため、そこで wrapper jar は不要です)。

CI / リリース

.github/workflows/build-release.yml (GitHub Actions) は プッシュのたびに APK をビルドし、app-debug.apk を添付した GitHub Release (タグ build-<run>) として公開します。このワークフローは exploit サブモジュールをチェックアウトし、JDK 17 / Android SDK 34 / NDK r29 をインストールして、gradle assembleDebug を実行します。これにより preload.so (API=31) がビルドされ、埋め込まれます。

初回セットアップ: このリポジトリとエクスプロイトリポジトリを、サブモジュールの相対 URL が解決されるように、同じ GitHub オーナー の兄弟リポジトリとしてプッシュしてください。エクスプロイトリポジトリがプライベートの場合は、repo スコープの PAT をシークレット SUBMODULE_PAT として追加し、ワークフローの token: 行のコメントを解除してください。

構成

root@kitploit:~
.
├── settings.gradle / build.gradle / gradle.properties   Gradle wiring
├── gradlew(.bat) + gradle/wrapper/                       wrapper
├── exploit/                                              git submodule (builds preload.so)
└── app/
    ├── build.gradle          minSdk 31 / targetSdk 31 / compileSdk 34, arm64-v8a; buildExploitSo task
    └── src/main/
        ├── AndroidManifest.xml         single launcher Activity, no dangerous perms
        ├── java/.../MainActivity.kt    button + scrolling log
        ├── java/.../ExploitRunner.kt   stage → LD_PRELOAD → su -c "settings ..."
        ├── res/{layout,values}/        UI, strings, theme
        └── assets/exploit/             preload.so is embedded here at build time

実行

  1. git submodule update --init --recursive を実行し、NDK をインストールしてから、./gradlew assembleDebug を実行します。
  2. XIG04 にインストールして起動します。有効にしたいのが ADB の場合は、デバイス自体 (ファイルマネージャー / ブラウザのダウンロード) から APK をインストールし、ランチャーから開きます。
  3. Enable ADB (tmp-root) をタップしてログを確認します。成功すると adb_enabled is now: 1 で終了します。
  4. 通常どおり PC から ADB を接続します。

制限事項 / 注意点

  • 単一ビルドのみ。 オフセットは上記の ROM に固定されています。別のビルドではペイロードの再移植が必要です。
  • tmp-root は揮発性です。 再起動すると root は失われます。グローバル設定の adb_enabled は通常保持され、一度有効化されれば adbd は root を必要としません。
  • SELinux / W^X。 LD_PRELOAD 経由のアプリプライベートファイルの実行は、アプリのドメインによっては拒否される可能性があります。エクスプロイト側の戦略がこれを処理し、拒否された場合も隠蔽されずログに表示されます。
  • 自分所有デバイスのみ。 これは自分が所有するハードウェアで ADB をロック解除するためのものです。
ツールをダウンロード