
Redmi K50G/POCO F4 GT용 로컬 권한 상승 익스플로잇으로, CVE-2026-43499(futex UAF)를 사용하여 임시 루트 권한을 획득하고 부트로더 잠금 해제 없이 KernelSU를 로드합니다.
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 | 샤오미 드라이버 원클릭 설치 도구 |
전체 체인은 4단계로 구성됩니다:
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로 실행 중인 커널에 로드(플래싱/부트 이미지 패치 불필요, 기기 현재 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 소켓 거부 + 네트워크 단절 방지);ro.boot.flash.locked / verifiedbootstate / 보증 비트 속성을 리셋하고 netd를 재시작하여 Root 후 네트워크 복구.| 변수 | 기본값 | 의미 |
|---|
NO_COLOR | 0 | 컬러 로그 비활성화 |
SE_LINUX | 0 | SELinux Permissive 플립 활성화(커널 앵커가 enforce 직접 기록) |
KSU_LOADER | 0 | root 앵커 내부에서 ksu_loader.sh 실행(KernelSU late-load) |
SHELL_ROOT | 0 | 앵커 내부에서 root shell fork |
SU_DAEMON | 0 | 앵커 내부에서 /data/local/tmp/su daemon 시작 |
SUSPECT_CPU | - | 의심 CPU 지정(앵커 바인딩), 99999은 자동 |
KS_MAX_TRIES | - | KernelSnitch mm 충돌/앵커 시도 상한 |