Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/soralis0912/cve-2026-43499-aristotle
Seguridad AndroidEscalada de PrivilegiosFrameworks de ExploitsAnálisis de VulnerabilidadesExplotaciónSeguridad MóvilExplotación de Binarios
GitHubsoralis0912/cve-2026-43499-aristotle

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-43499-aristotle

Exploit de escalada de privilegios local para Xiaomi XIG04 (Android 12) mediante CVE-2026-43499 (uso después de liberación del kernel). Técnica de root directo solo de datos con fuerza bruta de etiquetas MTE para enraizamiento del propietario del dispositivo.

Ver Repositorio
31hace 27 díasAún no revisado

CVE-2026-43499 — aristotle (au/KDDI Xiaomi XIG04)

Escalada de privilegios local (tmp-root) para el au/KDDI Xiaomi "aristotle" (XIG04) en Android 12, a través de CVE-2026-43499. Es una primitiva de root del propietario del dispositivo: enraíza tu propio teléfono (por ejemplo, para reactivar ADB cuando las opciones de desarrollador son inaccesibles).

Este es un port para aristotle de la implementación ascendente: https://github.com/x-spy/CVE-2026-43499-popsicle — que apunta al Xiaomi 17 / Pro / Ultra (popsicle, Snapdragon, Android 16, kernel 6.12.23). Todo el crédito de la técnica de exploit corresponde al ascendente; este fork solo lo redirige a un dispositivo y generación de kernel diferentes.

Alcance: tu propio XIG04 ejecutando Xiaomi/XIG04_jp_kdi/XIG04:12/SP1A.210812.016/V14.0.3.0.TMFJPKD. No es un exploit de propósito general o remoto.

Target

root@kitploit:~
device  : aristotle (au/KDDI XIG04), MediaTek, Android 12
kernel  : 5.10.136-android12-9-00020-gc9f59ef34367-ab9585114  (VA=39, 4K pages, KASLR)

The bug

CVE-2026-43499 es un use-after-free en la ruta Futex-PI del kernel de Linux: remove_waiter() en kernel/locking/rtmutex.c opera en current en lugar de waiter::task durante la reversión del proxy-lock desde futex_requeue(), dejando un pi_blocked_on colgante. Es un error antiguo y de larga duración (afectó a Linux 2.6.39 – 6.18.x), por lo que el kernel 5.10.136 aquí está en el rango (CONFIG_FUTEX_PI=y, CONFIG_RT_MUTEXES=y). El exploit utiliza un "direct-root" solo de datos (intercambiar cred → init_cred, desactivar SELinux forzado) y fuerza bruta en etiquetas MTE para sobrevivir al endurecimiento del dispositivo (KASAN_HW_TAGS, MTE, , ).

What differs from upstream (popsicle → aristotle)

Upstream apunta a Snapdragon / Android 16 / kernel 6.12; aristotle es MediaTek / Android 12 / kernel 5.10, por lo que el port re-deriva todo lo específico del dispositivo:

  • rt_mutex_waiter es el diseño plano antiguo 5.10 (sin rt_waiter_node anidado, sin wake_state/ww_ctx). Las tablas de fake-waiter en source/src/{slide,fops}.c y source/src/util.c se reconstruyen de 13 palabras a 10.
  • No xbl_config. KASLR se derrota dinámicamente (filtración de información del kernel en slide.c); las dos constantes físicas que upstream tomó de Qualcomm XBL se reemplazan por una base DRAM estática (0x40000000, del árbol de dispositivos) más memstart_addr / kimage_voffset en tiempo de ejecución.
  • No hay BTF en este kernel, por lo que los offsets de estructuras se recuperan mediante desensamblado y se inyectan en lugar de leerse de BTF.
  • Todos los offsets, RVAs y anclajes KASLR se midieron para este kernel exacto — ver ARISTOTLE_CVE43499_PORT.md.

Generate the target header

Un source/src/target.h medido para XIG04 ya está comprometido, por lo que puedes compilar directamente. Para regenerarlo a partir de una imagen de arranque, usa el generador aristotle (sin --xbl-config; emite RVAs memstart_addr/kimage_voffset para uso dinámico):

root@kitploit:~
python3 gen_aristotle_target.py \
  --boot boot.img \
  --pselect-shift 0 \
  --loggers 0xffffffc012771380 \
  --boot-id-data 0xffffffc012886cf8 \
  --kernel-phys-load 0x40080000 \
  -o source/src/target.h

(Los tres anclajes y el kernel-phys-load son los valores integrados en el encabezado comprometido; ver ARISTOTLE_CVE43499_PORT.md para cómo se obtuvieron.)

Build

Requiere Python 3 y Android NDK (r29). API=31 es requerido para que el payload se cargue en Android 12:

root@kitploit:~
make -C source clean preload API=31

Si el NDK no se detecta automáticamente:

root@kitploit:~
NDK_ROOT=/path/to/android-ndk make -C source clean preload API=31

Artefacto final:

root@kitploit:~
source/build/bin/preload.so

Run

root@kitploit:~
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'

En caso de éxito:

root@kitploit:~
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0
direct-root-summary root=1 id=1 su=1/... selinux=1->0 uid=0 euid=0 gid=0 egid=0

preload.so incrusta y auto-instala su propio cliente su + demonio al cargarse, por lo que no se necesita un binario su separado.

Estado: el port está completo en código según análisis estático pero aún no validado en hardware. Valida el disparador de crash primero, luego el root, en tu propio dispositivo. Los elementos de ajuste específicos del kernel (MM_ORDER, P0_KERNEL_PHYS_LOAD, el comportamiento del flat-waiter) se listan en ARISTOTLE_CVE43499_PORT.md.

Descargar herramienta
CFI
SCS