
Lokaler Privilege-Escalation-Exploit für Redmi K50G/POCO F4 GT unter Verwendung von CVE-2026-43499 (futex UAF), um temporären Root-Zugriff zu erlangen und KernelSU zu laden, ohne den Bootloader zu entsperren.
Ein-Klick-temporäres Root ohne BL-Entsperrung. Nutzt die lokale Privilegieneskalationskette von GhostLock (CVE-2026-43499, futex PI Use-After-Free), um einen Root-Anker zu erhalten, und bindet anschließend das Modul kernelsu über KernelSU 3.3.0 Late-Load in den laufenden Kernel ein; zusammen mit dem KSU-Modul wird SELinux Permissive beibehalten und das Netzwerk repariert.
Zielgerät: Redmi K50G / POCO F4 GT —— Codename
ingres, SoC SM8450 (Snapdragon 8 Gen 1) System: Android 14, UKQ1.240624.001, Kernel 5.10.209-android12 (KMIandroid12-5.10) Status: ✅ Temporäres Root auf echtem Gerät erfolgreich verifiziert
| Datei | Funktion |
|---|---|
exploit | GhostLock-Privilegieneskalations-Binary (ARM64 PIE, nicht gestrippt). Enthält intern KernelSnitch-mm-Kollisionslokalisierung, futex-PI-UAF-Stack-Overwrite, Kernel-Anker-Root, su-Daemon, eingebettetes libksud.so und KSU-Late-Load-Logik |
Root-K50G.bat | Windows-Ein-Klick-Skript (lokalisiert Dateien anhand des eigenen Verzeichnisses, per Doppelklick nutzbar): Gerät erkennen → Dateien übertragen → Privilegieneskalation ausführen → direkt in die Root-Shell wechseln |
ksu_loader.sh | Wird vom bereits gerooteten Kernel-Anker ausgeführt: libksud.so late-load --kmi 5.10.209-android12 lädt KernelSU und löst nacheinander die Phasen post-fs-data / services / boot-completed aus |
ksu-module/chuxin_permissive_netfix/ | KernelSU-Modul (module.prop + service.sh): überwacht alle 2 Sekunden enforce=0 und setzt die Manipulationsschutz-Attribute zurück, startet netd neu, aktiviert WLAN/Daten und behebt Netzwerkausfälle |
adb/ | Integrierte adb-Tools (portabel, ohne Installation) |
adb驱动无需重启.exe | Ein-Klick-Installationstool für Xiaomi-Treiber |
Die gesamte Kette besteht aus vier Schritten:
FUTEX_WAIT_REQUEUE_PI + FUTEX_CMP_REQUEUE_PI) erzeugt einen auf dem Kernel-Stack hängenden rt_mutex_waiter;rt_mutex_adjust_prio_chain-Durchlauf aus und erhält kontrollierte Kernel-Lese-/Schreibprimitive.cred injiziert (uid/gid=0, vollständige caps, kernel SID), wodurch ein Root-Ankerprozess entsteht (im Laufzeitlog anchor: ROOT uid=0);SHELL_ROOT=1) und su-Daemon (SU_DAEMON=1, /data/local/tmp/su).kernelsu.ko wird über libksud.so late-load --kmi 5.10.209-android12 in den laufenden Kernel geladen (kein Flashen/Patchen des Boot-Images nötig, exakte Übereinstimmung mit der aktuellen KMI des Geräts);ksu_loader.sh führt nacheinander post-fs-data, services, boot-completed aus, damit das KernelSU-Verwaltungsframework (ksud) ordnungsgemäß gestartet wird.chuxin_permissive_netfix wird in /data/adb/modules/ installiert: sein service läuft in der ksu-Domain (mit security:setenforce-Berechtigung) und schreibt alle 2 Sekunden enforce auf 0 zurück, um das Verhalten von ksud zu neutralisieren, das SELinux nach boot-completed wieder auf Enforcing setzt (verhindert AVC-Ablehnung des su-Sockets + Netzwerkausfall);ro.boot.flash.locked / verifiedbootstate / Garantie-Bit-Attribute zurückgesetzt und netd neu gestartet, um das Netzwerk nach dem Root zu reparieren.Root-K50G.bat doppelklicken;id lässt sich uid=0(root) verifizieren;/data/local/tmp/su -c id verifizieren.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"
Nach Abschluss der Ausführung verifizieren:
adb shell /data/local/tmp/su -c id
# uid=0(root) gid=0(root) ...
| Variable | Standard | Bedeutung |
|---|---|---|
NO_COLOR | 0 | Farbige Protokollierung deaktivieren |
SE_LINUX | 0 | SELinux Permissive flip aktivieren (direktes Schreiben von enforce über den Kernel-Anker) |
KSU_LOADER | 0 | ksu_loader.sh innerhalb des Root-Ankers ausführen (KernelSU late-load) |
SHELL_ROOT | 0 | Root-Shell innerhalb des Ankers forken |
SU_DAEMON | 0 | /data/local/tmp/su-Daemon innerhalb des Ankers starten |
SUSPECT_CPU | - | Verdächtige CPU angeben (Anker-Bindung), 99999 bedeutet automatisch |
KS_MAX_TRIES | - | Obergrenze für KernelSnitch-mm-Kollisionen/Anker-Versuche |
service.sh des Moduls chuxin_permissive_netfix die Eigenschaften automatisch zurück und startet netd neu (wirkt auch nach dem Flashen von Modulen wie LSPosed);Der Inhalt dieses Repositorys dient ausschließlich der Sicherheitsforschung und dem Testen auf eigenen Geräten. Die Rechteausweitung bzw. die Änderung des Systemzustands birgt gewisse Risiken; unsachgemäße Bedienung kann das Gerät unbrauchbar machen oder zu Datenverlust führen. Verwenden Sie es nur, wenn Sie die Funktionsweise vollständig verstehen und die Konsequenzen selbst tragen, und nicht für illegale Zwecke.
Referenz: CVE-2026-43499 (GhostLock) – UAF bei der Futex-Prioritätsvererbung im Linux-Kernel, betrifft Kernel 2.6.39 bis 7.1, ermöglicht lokale Rechteausweitung.