
GhostLock (CVE-2026-43499) REDMI K90 Pro Max 台湾ファームウェア (myron, WPMTWXM) 向けカーネルエクスプロイト移植版 — オフセット、ビルドガイド、プリビルドバイナリ
GhostLock (CVE-2026-43499) kernel exploit port for the global/Taiwan firmware of the
POCO F8 Ultra / REDMI K90 Pro Max (codename myron, Snapdragon 8 Elite Gen 5 / SM8850).
Target: HyperOS OS3.0.6.0.WPMTWXM — kernel
6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k
English summary below / 以下に英語の要約があります。
同じスマホ、同じ codename でも、国際/台湾版(WPMTWXM、つまり POCO F8 Ultra)と大陸版(WPMCNXM)のカーネルは同じバイナリではありません:
| ROM | kernel release | ビルド日時 |
|---|---|---|
| 台湾版 3.0.1.0.WPMTWXM | ...-ga5f232d1ead0-ab14083253-4k | 2025-09-11 |
| 台湾版 3.0.6.0.WPMTWXM | ...-g5a0e85dd9db0-ab14499855-4k | 2025-11-26 |
| 大陸版 3.0.306/308.WPMCNXM | ...-g16e473de48a3-abogki462654244-4k | 2025-11-19 |
abogki*)を追跡し、台湾版は Xiaomi 独自の統合ブランチ+pgo +bolt +lto でビルドされている——コードに少しでも差異があれば、シンボル配置は完全に乱れるinit_task/init_cred の差は 0x10000、selinux_state の差は 0x120c8(固定オフセットではない)GhostLock のような data-only exploit には、そのビルドでの正確なアドレスが必要です。そのため、大陸版向けに計算された payload は国際版ではすべて無効です。この repo は、国際版に欠けているオフセット表を補うためのものです。
offsets/myron_tw/offsets.h — 台湾版 3.0.6.0 の完全な target
(JoinChang/ghostlock-oneplus 用)scripts/device_step1.sh — root 後の ABL バックアップ + unlock EFI 書き込みスクリプトghostlock バイナリ(arm64)あり_text を基準にバイナリを読み戻してクロス検証——init_task.comm="swapper"、init_cred.usage=4、init_uts_ns.release が uname と 1 文字ずつ一致。実機 root なしで信頼できるオフセットを取得できる。task_struct 5184 bytes、cred@0x900、pi_blocked_on@0xA18 など、上流の STRUCT_OFFSETS_6_12 と一致。futex_wait_requeue_pi(frame 0x1c0,waiter@sp+0x80)と core_sys_select(frame 0x1b0,stack_fds@sp+0x18)は、動作検証済みの Xiaomi 17 (pudding) と完全に同一 → PSELECT_SHIFT=0。selinux_state.enforcing は +0 に、policycap は +2 にあるため、1 byte 書き込みでも policycap を壊さない。git clone https://github.com/JoinChang/ghostlock-oneplus.git
cd ghostlock-oneplus
cp /path/to/this-repo/offsets/myron_tw/offsets.h src/devices/myron_tw/offsets.h
# 在 src/devices/offsets.h 的 #include 清單加一行:
# #include "myron_tw/offsets.h"
make NDK_CC=<你的 NDK>/toolchains/llvm/prebuilt/*/bin/aarch64-linux-android35-clang
adb shell uname -r
# 必須是 6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k,否則程式會拒絕執行
adb push ghostlock /data/local/tmp/e
adb shell chmod 755 /data/local/tmp/e
adb shell /data/local/tmp/e
PSELECT_SHIFT=-1 などの微調整を試す国際版は root 後に ABL 置き換え方式でアンロックできる(公式枠は不要):abl_a/b のバックアップ → unlock EFI の書き込み → fastboot で出荷時 ABL + spoof の書き込み → 復元。出荷時 ABL は自分が持っている台湾版 3.0.1.0 ROM の abl.img から取得する(本 repo には Xiaomi の専有ファームウェアファイルは置かない)。scripts/device_step1.sh はこの手順のうち端末側の部分。この手順でユーザーデータは消去されない。
The global firmware of the POCO F8 Ultra (REDMI K90 Pro Max) ships a different kernel build
than the CN firmware (different branch, config, and PGO/BOLT layout), so all
community-published GhostLock offsets — computed on CN ogki kernels — miss on
global devices. This repo provides the missing target offsets for
OS3.0.6.0.WPMTWXM (6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k),
statically extracted from the official OTA package and cross-validated
(kallsyms + BTF + in-image reads), plus a prebuilt binary in Releases.
Struct layouts are identical to the CN build; only symbol addresses differ.
Stack-frame layout matches the verified-working Xiaomi 17 (pudding).
Use only on your own device. The vulnerability is public (kernelCTF-mandated disclosure); this port exists so global-variant owners can root their own phones.
お持ちのデバイスでの認可されたセキュリティ研究のみを目的としています。For authorized security research on your own devices only. いかなる結果も保証しません。使用は自己責任です。