
Локальный эксплойт повышения привилегий для Redmi K50G/POCO F4 GT с использованием CVE-2026-43499 (futex UAF) для получения временного root-доступа и загрузки KernelSU без разблокировки загрузчика.
Временный Root в один клик без разблокировки BL. Используя цепочку локального повышения привилегий 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). Внутри: поиск коллизий mm через KernelSnitch, перезапись стека через 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 | Инструмент установки драйверов Xiaomi в один клик |
Вся цепочка состоит из четырёх шагов:
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) ...
service.sh модуля chuxin_permissive_netfix автоматически сбрасывает атрибуты и перезапускает netd (работает и после установки модулей типа LSPosed);Содержимое данного репозитория предназначено только для исследований безопасности и тестирования на личных устройствах. Повышение привилегий/изменение состояния системы сопряжено с определённым риском; неправильные действия могут привести к «кирпичу» устройства или потере данных. Используйте только при полном понимании принципов и на свой страх и риск, не используйте в незаконных целях.
Справка: CVE-2026-43499 (GhostLock) — UAF в наследовании приоритетов futex в ядре Linux, затрагивает ядра 2.6.39 ~ 7.1, позволяет локальное повышение привилегий.
ksu_loader.sh последовательно выполняет post-fs-data, services, boot-completed, чтобы фреймворк управления KernelSU (ksud) корректно запустился.chuxin_permissive_netfix устанавливается в /data/adb/modules/: его сервис работает в домене 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 (прямая запись enforce через root-якорь в ядре) |
KSU_LOADER | 0 | Выполнить ksu_loader.sh внутри root-якоря (KernelSU late-load) |
SHELL_ROOT | 0 | Fork root shell внутри якоря |
SU_DAEMON | 0 | Запустить daemon /data/local/tmp/su внутри якоря |
SUSPECT_CPU | - | Указать подозреваемый CPU (привязка якоря), 99999 — автоматически |
KS_MAX_TRIES | - | Верхний предел попыток коллизий mm / якоря KernelSnitch |