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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
GhostLock-OPPO-PCKM00 — CVE-2026-43499 GhostLock futex UAF LPE PoC(OPPO PCKM00 (SM6150) / Linux 4.14.180 向け) | Kitploit
ツール/GitHubGitHub/yijiacloud/ghostlock-oppo-pckm00
Androidセキュリティ特権昇格永続化メカニズム脆弱性分析エクスプロイトポストエクスプロイトモバイルセキュリティペイロード開発バイナリエクスプロイト
GitHubyijiacloud/ghostlock-oppo-pckm00

GhostLock-OPPO-PCKM00

CVE-2026-43499 GhostLock futex UAF LPE PoC(OPPO PCKM00 (SM6150) / Linux 4.14.180 向け)

110日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る

GhostLock — OPPO PCKM00 (4.14.180) PoC

CVE-2026-43499(GhostLock) — Linuxカーネルの futex 優先度継承におけるuse-after-free(解放後使用)を利用したローカル権限昇格PoC。OPPO PCKM00(OP4A57、SM6150、Android 11、カーネル 4.14.180-perf+) 向けに移植されています。

免責事項 このプロジェクトは認可されたセキュリティ研究および教育目的のみを対象としています。所有していないデバイス、または明示的にテストを許可されていないデバイスでは使用しないでください。エクスプロイトを実行するとカーネルがクラッシュする可能性があります。作者は誤用や損害について一切の責任を負いません。

本プロジェクトは許可されたセキュリティ研究と教育目的にのみ使用されます。本人が所有していない、または明示的な許可を得ていないデバイスでは使用しないでください。エクスプロイトの実行によりカーネルがクラッシュする可能性があります。作者は悪用または損害について一切の責任を負いません。


1. 脆弱性

CVE-2026-43499(GhostLock)は、Linuxカーネルのfutex優先度継承コードにおけるuse-after-free(解放後使用)です。このバグは、rt_mutex_start_proxy_lock() のプロキシロックロールバックパスで remove_waiter() が誤用されることに起因します。解放された rt_mutex_waiter(カーネルスタック上に割り当てられる)が、pselect() によってコピーされた攻撃者制御の fd_set として再解釈され、任意書き込みプリミティブを生み出します。

影響範囲: Linux 4.x〜6.x(2011年に導入)。4.14系は全面的に影響を受けます。完全な解析と検証済みシンボルオフセットについては report.md を参照してください。

エクスプロイトチェーン

root@kitploit:~
futex requeue-pi UAF
   └─> pselect fd_set stack copy (fake rt_mutex_waiter / fake task)
         └─> arbitrary write (rt_mutex tree ops / sched_setattr)
               └─> overwrite ashmem_fops -> configfs bin read/write
                     └─> pipe_buffer page rewrite (physical RW primitive)
                           └─> patch current task cred -> root

このPoCは LD_PRELOAD を介して完全にユーザー空間で実行されます。デバイスの再起動は不要です(カーネルパニックが発生した場合を除く)。


2. 対象デバイス

他の4.14デバイスへの移植:exploit/targets/oppo-pckm00/target.h をコピーし、カーネルイメージからシンボルオフセットを再生成してください(analysis/ を参照)。


3. リポジトリ構成

root@kitploit:~
.
├── report.md                    # Full vulnerability analysis & verified offsets
├── exploit/
│   ├── Makefile                 # Build preload.so (Windows NDK / WSL)
│   ├── src/
│   │   ├── preload.c            # LD_PRELOAD entry + forced disk logging + su
│   │   ├── main.c               # Orchestration (waiter/owner/consumer threads)
│   │   ├── slide.c              # KASLR leak (boot_id / nfulnl loggers)
│   │   ├── fops.c               # ashmem_fops overwrite + configfs primitive
│   │   ├── pipe.c               # pipe_buffer physrw primitive
│   │   ├── root.c               # task walk + cred patch + seccomp/selinux
│   │   ├── util.c               # kernelsnitch, skb page prep, kernel RW
│   │   ├── su_daemon.c          # embedded su server (drop-in)
│   │   ├── su_blob.S            # .incbin of su_daemon
│   │   └── wallpaper_blob.S     # .incbin of wallpaper payload
│   ├── targets/oppo-pckm00/target.h   # 4.14.180 symbol/struct offsets
│   └── assets/wallpaper.webp    # embedded wallpaper payload
├── analysis/                    # kernel image / kallsyms extraction scripts
└── LICENSE                      # Apache-2.0 (same as upstream GhostLock)

4. ビルド

Android NDK r29(aarch64-linux-android30-clang)が必要です。

Windows NDK

root@kitploit:~
set NDK=C:\path\to\android-ndk-r29
make NDK=%NDK%

WSL(推奨)

root@kitploit:~
# put NDK at /opt/ndk/android-ndk-r29 (linux-x86_64 toolchain)
cd exploit
make wsl
# or directly:
bash ../analysis/build_preload.sh

出力:exploit/preload.so(64ビットaarch64 ELF共有オブジェクト)。

ビルドは su_daemon.c もPIEバイナリにコンパイルし、それ(および壁紙)を .S ブロブ経由で .so に埋め込みます。


5. 使用方法

root@kitploit:~
adb push exploit/preload.so /data/local/tmp/preload.so
adb shell LD_PRELOAD=/data/local/tmp/preload.so id

成功すると、シェルは uid=0(root) を報告します。su デーモンが /apex/com.android.virt/bin/su にインストールされ(失敗時は /data/local/tmp/su にフォールバック)、埋め込まれた壁紙が永続化・検証用アーティファクトとして適用されます。

強制リアルタイムディスクログ

すべての pr_* 診断情報は /sdcard/Download/log_<timestamp>.txt にも書き込まれます(失敗時は /data/local/tmp/log_<timestamp>.txt にフォールバック)。各行で O_SYNC + fsync() を使用するため、カーネルパニックや再起動後もログが残ります。ログを取得するには:

root@kitploit:~
adb pull /sdcard/Download/log_*.txt

6. 注意事項と制限

  • KASLR:このPoCは boot_id/nfulnlロガーパス(slide.c)とashmem_fops検証パス(fops.c)を介してスライドをリークします。
  • この移植版で対応した4.14と6.xの差異:
    • configfsはレガシーな .read/.write を使用する(read_iter/write_iter はない)。
    • ashmem_fops に show_fdinfo がない。
    • generic_file_splice_read が copy_splice_read を置き換える。
    • selinux_enforcing は struct selinux_state の内部にある。
    • 4.14の rt_mutex_waiter / / のレイアウト。

7. クレジット

  • NebuSec — オリジナルのGhostLock研究およびエクスプロイトフレームワーク(IonStack/CVE-2026-43499)、Apache-2.0。 https://github.com/NebuSec/CyberMeowfia
  • KernelSnitch(futexハッシュサイドチャネル)は、そのアップストリームの条件に基づいて埋め込まれています。

ライセンス

Apache-2.0 — LICENSE を参照してください。

ツールをダウンロード
フィールド値
デバイスOPPO PCKM00 / OP4A57
SoCQualcomm SM6150
Android11 (RKQ1.200903.002)
セキュリティパッチ2022-09-05
カーネル4.14.180-perf+ (arm64, clang 10.0.7)
ビルドOPPO/PCKM00/PCKM00:11/RKQ1.200903.002/1635513065:user/release-keys
pipe_inode_info
cred
  • 一部の構造体オフセット(例:task_struct.seccomp)はベストエフォートです。seccompのパッチに失敗しても、cred上書きによるroot化は妨げられません。
  • エクスプロイトの実行によりカーネルパニックが発生する可能性があります(対象デバイスでは約5秒で約97%の信頼性)。隔離されたデバイスを使用してください。