
GhostLock (CVE-2026-43499) port dell'exploit del kernel per il firmware Taiwan di REDMI K90 Pro Max (myron, WPMTWXM) — offset, guida alla compilazione, binario precompilato
Porting dell'exploit del kernel GhostLock (CVE-2026-43499) per il firmware globale/Taiwan del 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
Riepilogo in inglese qui sotto.
Stesso telefono, stesso codename, ma il kernel della versione internazionale/Taiwan (WPMTWXM, cioè POCO F8 Ultra) e quello della versione cinese (WPMCNXM) non sono lo stesso binary:
| ROM | kernel release | Data di compilazione |
|---|---|---|
| TW 3.0.1.0.WPMTWXM | ...-ga5f232d1ead0-ab14083253-4k | 2025-09-11 |
| TW 3.0.6.0.WPMTWXM | ...-g5a0e85dd9db0-ab14499855-4k | 2025-11-26 |
| CN 3.0.306/308.WPMCNXM | ...-g16e473de48a3-abogki462654244-4k | 2025-11-19 |
abogki*), la versione TW è il branch di integrazione di Xiaomi+pgo +bolt +lto —
qualsiasi differenza nel codice rimescola completamente la disposizione dei simboliinit_task/init_cred differiscono di 0x10000, selinux_state di 0x120c8 (offset non fissi)Un exploit data-only come GhostLock richiede gli indirizzi esatti di quella specifica build, quindi tutti i payload calcolati per la versione CN sono completamente inefficaci sulla versione internazionale. Questo repo fornisce la tabella degli offset mancante per la versione internazionale.
offsets/myron_tw/offsets.h — target completo per la TW 3.0.6.0 (per
JoinChang/ghostlock-oneplus)scripts/device_step1.sh — backup ABL post-root + script per flashare l'EFI di sbloccoghostlock precompilato (arm64)_text come base —
init_task.comm="swapper", init_cred.usage=4, init_uts_ns.release corrispondono carattere per carattere a uname.
Si possono ottenere offset affidabili senza root sul dispositivo.task_struct 5184 byte,
cred@0x900, pi_blocked_on@0xA18, ecc., coerenti con l'upstream STRUCT_OFFSETS_6_12.futex_wait_requeue_pi (frame 0x1c0, waiter@sp+0x80) e
core_sys_select (frame 0x1b0, stack_fds@sp+0x18) sono identici a quelli del
Xiaomi 17 (pudding), già verificato funzionante → PSELECT_SHIFT=0.selinux_state.enforcing è a +0, a +2; la scrittura di un singolo byte non danneggia 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 e altre regolazioniIl dispositivo internazionale, dopo il root, può essere sbloccato con il metodo di sostituzione ABL (senza bisogno della quota ufficiale): backup di abl_a/b →
flash dell'EFI di sblocco → flash via fastboot dell'ABL di fabbrica + spoof → ripristino. L'ABL di fabbrica si ricava dal file abl.img della ROM TW 3.0.1.0 in tuo possesso (questo repo non contiene file di firmware proprietari Xiaomi). scripts/device_step1.sh è la parte lato telefono di questa procedura. Questa procedura non cancella i dati utente.
Il firmware globale del POCO F8 Ultra (REDMI K90 Pro Max) include una build del kernel diversa da quella del firmware CN (branch, config e layout PGO/BOLT diversi), quindi tutti gli offset di GhostLock pubblicati dalla community — calcolati sui kernel CN ogki — falliscono sui dispositivi globali. Questo repo fornisce gli offset target mancanti per OS3.0.6.0.WPMTWXM (6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k), estratti staticamente dal pacchetto OTA ufficiale e validati in modo incrociato (kallsyms + BTF + letture in-image), più un binary precompilato in Releases. I layout delle struct sono identici alla build CN; cambiano solo gli indirizzi dei simboli. Il layout dello stack-frame corrisponde al Xiaomi 17 (pudding), già verificato funzionante.
Usalo solo sul tuo dispositivo. La vulnerabilità è pubblica (disclosure richiesta da kernelCTF); questo port esiste per consentire ai possessori della variante globale di fare il root dei propri telefoni.
Solo per ricerca di sicurezza autorizzata su dispositivi di tua proprietà. Solo per ricerca di sicurezza autorizzata sui propri dispositivi. Non garantiamo alcun risultato; l'uso è a proprio rischio.
policycap