Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
F9360-CVE43499 — SM-F9360 (Galaxy Z Fold4, q4q) root de KernelSU con bootloader bloqueado — root temporal CVE-2026-43499 → bypass de DEFEX con LD_PRELOAD → kernelsu.ko clang-12 sin LTO. Verificado en el dispositivo: 2026-08-12. | Kitploit
Herramientas/GitHubGitHub/e-r-butch/f9360-cve43499
Seguridad AndroidEscalada de PrivilegiosExplotaciónIngeniería InversaSeguridad MóvilAprendizaje y EducaciónAnálisis de FirmwareExplotación de Binarios
GitHube-r-butch/f9360-cve43499

F9360-CVE43499

SM-F9360 (Galaxy Z Fold4, q4q) root de KernelSU con bootloader bloqueado — root temporal CVE-2026-43499 → bypass de DEFEX con LD_PRELOAD → kernelsu.ko clang-12 sin LTO. Verificado en el dispositivo: 2026-08-12.

435hace 28 díasAún no revisado

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
Ver Repositorio

SM-F9360 (Galaxy Z Fold4 / q4q) Root de KernelSU sin desbloqueo de Bootloader

CVE-2026-43499 root temporal → canal LD_PRELOAD para eludir DEFEX → kernelsu.ko compilado con clang-12 sin LTO → su + KernelSU Manager con funcionalidad completa

Estado: ✅ Verificado en dispositivo real el 2026-08-12 (firmware F9360ZCSAIZF1, kernel 5.10.236-android12-9-2755199-abF9360ZCSAIZF1)

Este proyecto documenta el proceso completo y reproducible para lograr root con KernelSU en un dispositivo Samsung con Bootloader bloqueado: no requiere desbloquear el BL, no requiere flashear boot.img, no requiere Odin.


TL;DR (English): This repo documents a fully device-verified jailbreak path for a locked-bootloader Samsung Galaxy Z Fold4 (SM-F9360, SM8450, kernel 5.10.236, firmware F9360ZCSAIZF1): a CVE-2026-43499 (rtmutex UAF, fixed in July-2026 firmware) exploit chain grants temporary kernel-domain root; a custom LD_PRELOAD constructor .so bypasses Samsung's DEFEX execve interceptor to init_module() a KernelSU LKM built with the exact device toolchain (AOSP clang 12.0.5 r416183b) and with LTO disabled — the two factors that make the module loadable and its init executable on this CFI/LTO hardened kernel. Result: su works (uid=0, context=u:r:ksu:s0) and KernelSU Manager v3.2.5 recognizes the kernel. Root is in-memory only: every reboot requires re-running the exploit (~3 min, scripted). All pitfalls and dead ends (fake exports, CRC patching, ksud late-load, LTO function-sections layout) are documented below.


Índice

  • 1. Resultados y limitaciones esenciales
  • 2. Contexto: por qué es difícil, por qué es viable
  • 3. Visión general de la cadena de ataque (3 capas)
  • 4. Requisitos del entorno
  • 5. Paso 1 — Compilar el exploit (root temporal)
  • 6. Paso 2 — Compilar kernelsu.ko (receta clang-12 sin LTO)
  • 7. Paso 3 — Compilar ksu-load.so (cargador con elusión de DEFEX)
  • 8. Paso 4 — Ejecución y verificación en el dispositivo
  • 9. Flujo de recuperación tras reinicio
  • 10. Hallazgos clave y lista de errores comunes
  • 11. Compatibilidad de firmware/kernel
  • 12. Agradecimientos y proyectos upstream
  • 13. Descargo de responsabilidad

1. Resultados y limitaciones esenciales

ElementoEstado
Root temporal (dominio de kernel kernel:s0)✅ Logrado de forma estable (9 éxitos consecutivos)
Carga del módulo KernelSU (init_module)✅ kernelsu ... Live (O)
Ejecución completa del init de KSU✅ 15 marcas de instrumentación en verde
Comando su✅ uid=0(root) gid=0(root) context=u:r:ksu:s0
KernelSU Manager v3.2.5✅ Reconoce la versión del kernel (detección supercall superada), funciona en modo SELinux enforcing
Desbloqueo de Bootloader❌ No necesario
Flasheo/modificación de particiones❌ No necesario

Limitación esencial: BL bloqueado → el root es puramente en memoria. Tras cada reinicio hay que reejecutar el exploit y recargar el módulo (proceso completo ~3 minutos, ya automatizado con scripts). El daemon en espacio de usuario ksud no puede desplegarse (DEFEX intercepta execve, ver §10-4), pero su / supercall / Manager son gestionados directamente por el sucompat del kernel, sin depender de ksud.

Advertencia: rmmod kernelsu provoca un panic y reinicio inmediato del dispositivo (ruta de restauración de la syscall-table sobre memoria protegida por RKP) — nunca lo descargues.

2. Contexto: por qué es difícil, por qué es viable

Por qué es difícil (defensa en profundidad de Samsung)

  • BL bloqueado: el bloqueo OEM no es desbloqueable, fastboot oem unlock no existe; cualquier root persistente (magisk/kernel patch) requiere flashear boot.img, y un BL bloqueado rechaza toda imagen autofirmada.
  • KDP / RKP / DEFEX: la protección de datos del kernel (escrituras físicas en rodata disparan un reinicio forzado del monitor KDP), el hypervisor RKP protege la syscall table, DEFEX intercepta la ejecución de nuevos ELF en el dominio root.
  • Kernel con CFI + LTO: CONFIG_CFI_CLANG=y + Full LTO. La única fuente de mod->init es la ranura de la jump-table de CFI __cfi_jt_init_module; las llamadas indirectas deben pasar por la entrada de la tabla .cfi_jt, de lo contrario la comprobación CFI provoca panic directo.
  • TRIM_UNUSED_KSYMS: ~40 símbolos que KSU necesita fueron recortados de la tabla de exportación __ksymtab, un insmod normal no puede resolverlos (Unknown symbol).
  • MODULE_FORCE_LOAD=n + modversions: vermagic debe coincidir exactamente carácter por carácter; los flags IGNORE_MODVERSIONS/IGNORE_VERMAGIC van todos a try_to_force_load(), un callejón sin salida.

Por qué es viable

  1. CVE-2026-43499 (UAF por rollback del proxy-lock de rtmutex, corregido en upstream en 2026-07) permite escalar privilegios de forma estable al dominio del kernel en firmware de 2026-06 y anteriores — la comunidad ya cuenta con un port verificado en dispositivo real para el mismo SoC (SM8450) + misma rama de kernel (5.10): sarabpal-dev/IonStack-S22U (b0q / S22U, ruta exp32).
  2. DEFEX solo intercepta execve, no la carga dinámica: el constructor .so de LD_PRELOAD es el único canal exento para ejecutar código arbitrario en el dominio root.
  3. El modo jailbreak de KernelSU v3.2+ (ksud late-load) está diseñado precisamente para dispositivos con BL bloqueado: sin flashear boot, init_module directamente en tiempo de ejecución.
  4. Principio de coincidencia de toolchain: el type-id de CFI es un hash interno de LLVM, el módulo debe compilarse con exactamente el mismo compilador que el kernel del dispositivo (dispositivo q4q = AOSP clang 12.0.5 r416183b).
  5. El diseño de secciones divididas por LTO es la causa raíz definitiva del crash del módulo: las 447 pequeñas secciones ALLOC producidas por function-sections provocan crash seguro en el cargador del kernel de Samsung; recompilar sin LTO → diseño tradicional de 22 secciones → éxito a la primera (ver §10-1).

3. Visión general de la cadena de ataque (3 capas)

┌─ Capa 1: CVE-2026-43499 root temporal
│   exploit ionstack-q4q (fuga de KASLR → mm reclaim → stamp de pila de 32 bits exp32
│   → CFI r/w → pipe physrw → daemon root UMH)
│   → /data/local/tmp/cve-2026-43499-root -c '<cmd>' = canal de comandos root en dominio kernel:s0
│
├─ Capa 2: canal de carga .so vía LD_PRELOAD (elusión de DEFEX)
│   DEFEX intercepta execve de cualquier nuevo ELF en el dominio kernel (Killed); el constructor
│   de LD_PRELOAD está exento → ksu-load.so dentro del proceso /system/bin/true:
│   lee el ko → reubica manualmente 201 símbolos UND vía /proc/kallsyms (SHN_ABS + st_value=dirección absoluta)
│   → patch de vermagic (necesario en versiones antiguas) → init_module() → éxito
│
└─ Capa 3: módulo de kernel KernelSU (versión clang-12 sin LTO)
    init se ejecuta completo, 15 marcas en verde → sucompat (allow_shell=1) + supercall disponibles

4. Requisitos del entorno

Dispositivo

Descargar herramienta