
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.
Root ohne BL-Entsperrung per Ein-Klick. Nutzt die GhostLock (CVE-2026-43499, futex PI Use-After-Free)-Lokale-Privilegieneskalationskette, um einen Root-Anker zu erhalten, lädt anschließend das kernelsu-Modul per KernelSU 3.2.5 late-load in den laufenden Kernel und hält mit dem KSU-Modul SELinux Permissive aufrecht und repariert das Netzwerk.
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ärer Root auf echter Hardware verifiziert
| Datei | Funktion |
|---|---|
exploit | GhostLock-Privilegieneskalations-Binary (ARM64 PIE, nicht gestrippt). Enthält 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 über sein eigenes Verzeichnis, Doppelklick genügt): Gerät erkennen → Dateien übertragen → Eskalation ausführen → direkt in 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 Anti-Tamper-Attribute zurück, startet netd neu, aktiviert WLAN/Daten zur Behebung von Netzwerkausfällen |
adb/ | Integrierte adb-Tools (portabel, keine Installation nötig) |
adb驱动无需重启.exe | Xiaomi-Treiber-Ein-Klick-Installationstool |
Die gesamte Kette besteht aus vier Schritten:
FUTEX_WAIT_REQUEUE_PI + FUTEX_CMP_REQUEUE_PI) erzeugt einen hängenden rt_mutex_waiter auf dem Kernel-Stack;rt_mutex_adjust_prio_chain aus und erhält kontrollierte Kernel-Lese-/Schreib-Primitive.cred injiziert (uid/gid=0, volle Caps, Kernel-SID), wodurch ein Root-Ankerprozess entsteht (im Log: anchor: ROOT uid=0);SHELL_ROOT=1) und su-Daemon (SU_DAEMON=1, /data/local/tmp/su).kernelsu.ko wird über in den laufenden Kernel geladen (kein Flashen/Patching des Boot-Images nötig, exakte Übereinstimmung mit dem aktuellen KMI des Geräts);Root-K50G.bat per Doppelklick ausführen;id 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 verifizieren:
adb shell /data/local/tmp/su -c id
# uid=0(root) gid=0(root) ...
service.sh des Moduls chuxin_permissive_netfix automatisch die Attribute zurück und startet netd neu (funktioniert auch nach dem Flashen von Modulen wie LSPosed);Der Inhalt dieses Repositories dient ausschließlich der Sicherheitsforschung und dem Testen eigener Geräte. Privilegieneskalation/Systemänderungen bergen gewisse Risiken; unsachgemäße Handhabung kann zu einem Brick des Geräts oder Datenverlust führen. Bitte nur verwenden, wenn Sie das Prinzip vollständig verstehen und die Konsequenzen selbst tragen; nicht für illegale Zwecke verwenden.
Referenz: CVE-2026-43499 (GhostLock) — Linux-Kernel-futex-Prioritätsvererbungs-UAF, betrifft Kernel 2.6.39 ~ 7.1, ermöglicht lokale Privilegieneskalation.
libksud.so late-load --kmi 5.10.209-android12ksu_loader.sh führt nacheinander post-fs-data, services und boot-completed aus, sodass das KernelSU-Verwaltungsframework (ksud) normal startet.chuxin_permissive_netfix wird nach /data/adb/modules/ installiert: Sein Service läuft in der ksu-Domäne (mit security:setenforce-Berechtigung) und schreibt alle 2 Sekunden enforce zurück auf 0, wodurch das Zurückschalten von SELinux auf Enforcing durch ksud nach boot-completed ausgeglichen wird (verhindert AVC-Ablehnung des su-Sockets + Netzwerkausfälle);ro.boot.flash.locked / verifiedbootstate / Garantiebit-Attribute zurückgesetzt und netd neu gestartet, um das Netzwerk nach dem Root zu reparieren.| Variable | Standard | Bedeutung |
|---|
NO_COLOR | 0 | Farbige Logs deaktivieren |
SE_LINUX | 0 | SELinux-Permissive-Flip aktivieren (Kernel-Anker schreibt enforce direkt) |
KSU_LOADER | 0 | ksu_loader.sh im Root-Anker ausführen (KernelSU late-load) |
SHELL_ROOT | 0 | Root-Shell im Anker forken |
SU_DAEMON | 0 | /data/local/tmp/su-Daemon im Anker starten |
SUSPECT_CPU | - | Verdächtige CPU angeben (Anker-Bindung), 99999 = automatisch |
KS_MAX_TRIES | - | Obergrenze für KernelSnitch-mm-Kollision/Anker-Versuche |