
Local privilege escalation exploit for Redmi K50G/POCO F4 GT using CVE-2026-43499 (futex UAF) to gain temporary root and load KernelSU without unlocking bootloader.
免解锁 BL 一键临时 Root。利用 GhostLock(CVE-2026-43499, futex PI Use-After-Free) 本地提权链拿到 root 锚点,随后通过 KernelSU 3.2.5 late-load 方式把 kernelsu 模块挂载进运行中的内核,配合 KSU 模块保持 SELinux Permissive 并修复网络。
目标设备: Redmi K50G / POCO F4 GT —— 代号
ingres, SoC SM8450 (Snapdragon 8 Gen 1) 系统: Android 14, UKQ1.240624.001, 内核 5.10.209-android12 (KMIandroid12-5.10) 状态: ✅ 实机验证临时 Root 成功
| 文件 | 作用 |
|---|---|
exploit | GhostLock 提权二进制(ARM64 PIE,未 strip)。内部含 KernelSnitch mm 碰撞定位、futex PI UAF 栈覆盖、内核锚点 root、su daemon、内嵌 libksud.so 与 KSU late-load 逻辑 |
Root-K50G.bat | Windows 一键脚本(以自身目录定位文件,双击即用):检测设备 → 推送文件 → 运行提权 → 直接进入 root shell |
ksu_loader.sh | 由已 root 的内核锚点执行:libksud.so late-load --kmi 5.10.209-android12 加载 KernelSU,并依次触发 post-fs-data / services / boot-completed 阶段 |
ksu-module/chuxin_permissive_netfix/ | KernelSU 模块(module.prop + service.sh):每 2 秒盯防 enforce=0,并重置防篡改属性、重启 netd、打开 wifi/数据修复断网 |
adb/ | 内置 adb 工具(便携免安装) |
adb驱动无需重启.exe | 小米驱动一键安装工具 |
整套链分四步:
FUTEX_WAIT_REQUEUE_PI + FUTEX_CMP_REQUEUE_PI)制造内核栈上悬垂的 rt_mutex_waiter;rt_mutex_adjust_prio_chain 走查,得到受控的内核读/写原语。cred(uid/gid=0、完整 caps、kernel SID),得到一个 root 锚点进程(运行日志里的 anchor: ROOT uid=0);SHELL_ROOT=1)与 su daemon(SU_DAEMON=1,/data/local/tmp/su)。kernelsu.ko 通过 libksud.so late-load --kmi 5.10.209-android12 装入运行中的内核(无需刷机/补丁 boot 镜像,与设备当前 KMI 精确匹配);Root-K50G.bat;id 验证 uid=0(root);/data/local/tmp/su -c id 验证。adb push exploit /data/local/tmp/exploit
adb push ksu_loader.sh /data/local/tmp/ksu_loader.sh
adb shell chmod 755 /data/local/tmp/exploit /data/local/tmp/ksu_loader.sh
adb shell "env NO_COLOR=1 SE_LINUX=1 KSU_LOADER=1 SHELL_ROOT=1 SU_DAEMON=1 SUSPECT_CPU=99999 KS_MAX_TRIES=8 /data/local/tmp/exploit"
运行结束后验证:
adb shell /data/local/tmp/su -c id
# uid=0(root) gid=0(root) ...
chuxin_permissive_netfix 模块的 service.sh 会自动重置属性并重启 netd(刷 LSPosed 等模块后也有效);本仓库内容仅供安全研究与个人设备测试使用。提权/修改系统状态具有一定风险,操作不当可能导致设备变砖或数据丢失。请在完全理解原理并自行承担后果的前提下使用,勿用于非法用途。
参考:CVE-2026-43499(GhostLock)—— Linux 内核 futex 优先级继承 UAF,影响 2.6.39 ~ 7.1 内核,可本地提权。
ksu_loader.sh 依次执行 post-fs-data、services、boot-completed,让 KernelSU 管理框架(ksud)正常拉起。chuxin_permissive_netfix 装入 /data/adb/modules/:其 service 运行在 ksu 域(有 security:setenforce 权限),每 2 秒把 enforce 写回 0,抵销 ksud 在 boot-completed 后把 SELinux 翻回 Enforcing 的行为(防 AVC 拒 su socket + 断网);ro.boot.flash.locked / verifiedbootstate / 保修位属性并重启 netd,修复 Root 后网络。| 变量 | 默认 | 含义 |
|---|
NO_COLOR | 0 | 关闭彩色日志 |
SE_LINUX | 0 | 启用 SELinux Permissive flip(内核锚点直写 enforce) |
KSU_LOADER | 0 | root 锚点内执行 ksu_loader.sh(KernelSU late-load) |
SHELL_ROOT | 0 | 锚点内 fork root shell |
SU_DAEMON | 0 | 锚点内启动 /data/local/tmp/su daemon |
SUSPECT_CPU | - | 指定嫌疑 CPU(锚点绑定),99999 表自动 |
KS_MAX_TRIES | - | KernelSnitch mm 碰撞/锚点尝试上限 |