
Análisis de investigación de seguridad sobre la explotación de CVE-2026-43499 en el Amazon Fire TV Stick 3rd Gen (sheldonp), desde root temporal hasta el desbloqueo del bootloader.
sheldonp)Encadenando una escalada de privilegios del kernel de Linux con un downgrade del preloader y el desbloqueo del bootloader.
Este repositorio documenta mi reproducción autorizada de la cadena de explotación de CVE-2026-43499 en un Amazon Fire TV Stick 3rd Gen (sheldonp). La cadena utilizó root temporal a nivel de kernel para ejecutar un downgrade controlado del preloader, y luego usó el flujo de trabajo existente de Kamakiri BootROM para alcanzar el fastboot desbloqueado y completar el desbloqueo del bootloader.
Esta es una reproducción y un estudio de caso específico del dispositivo. No descubrí CVE-2026-43499, no creé el exploit original IonStack/GhostLock, ni desarrollé Kamakiri. Los investigadores y desarrolladores originales se acreditan a continuación.
[!IMPORTANT] Este artículo es un registro técnico, no una guía universal de rooteo. La compatibilidad de compilación importa, el root temporal no es root persistente, y los errores que involucran Preloader, LK, TEE o particiones protegidas por dm-verity pueden brickear el dispositivo de forma permanente.
La cadena de extremo a extremo se completó el 12 de septiembre de 2026. Este repositorio registra el dispositivo y las versiones de software probadas, los archivos exactos utilizados, sus hashes SHA-256 y la evidencia original capturada durante el proceso.
Fuera de alcance: descubrimiento de vulnerabilidades, una nueva implementación de exploit, explotación remota, root persistente o soporte para dispositivos distintos de la unidad sheldonp probada. No se instaló ninguna ROM personalizada durante esta reproducción.
Los siguientes son los archivos ZIP exactos utilizados durante esta reproducción. Los archivos no se redistribuyen en este repositorio; sus hashes SHA-256 se registran para que las copias obtenidas de forma independiente puedan compararse con los archivos utilizados en este estudio de caso.
Estos hashes identifican las copias utilizadas en este estudio de caso; los lectores deben comparar sus descargas con las fuentes originales y revisar las licencias de terceros aplicables.
CVE-2026-43499, también conocido como GhostLock, es un use-after-free en la ruta futex/rtmutex de herencia de prioridad del kernel de Linux. Durante el rollback del proxy-lock, remove_waiter() operaba sobre current en lugar de la tarea almacenada en waiter->task. Como resultado, el waiter real podía regresar al espacio de usuario con pi_blocked_on aún referenciando un rt_mutex_waiter en un frame de pila del kernel ya liberado.
La investigación original de IonStack convierte esa referencia de pila colgante en una primitiva de escalada de privilegios local. R0rt1z2 adaptó la técnica al Fire TV Stick 3rd Gen y Fire TV Stick Lite (sheldonp/sheldon) ejecutando Fire OS 7 sobre un kernel 4.4.
La distinción clave en este estudio de caso es que CVE-2026-43499 no desbloquea el bootloader directamente. Proporciona acceso temporal a nivel de kernel. Ese acceso de corta duración hace posible realizar el downgrade controlado del preloader requerido antes de que pueda ejecutarse la cadena más antigua de Kamakiri BootROM.
flowchart LR
A[Fire OS 7 on sheldonp] --> B[CVE-2026-43499 / GhostLock]
B --> C[Temporary root shell]
C --> D[Controlled preloader downgrade]
D --> E[Expected non-booting transition state]
E --> F[Kamakiri BootROM stage]
F --> G[Unlocked fastboot]
G --> H[Bootloader unlocked]La cadena cruza dos límites de seguridad separados:
Antes de modificar el dispositivo, identifiqué el nombre en clave del hardware y registré las versiones de Fire OS, build, bootloader y kernel a través de ADB.
adb devices -l
adb shell getprop ro.product.device
adb shell getprop ro.product.model
adb shell getprop ro.build.version.release
adb shell getprop ro.build.version.incremental
adb shell getprop ro.build.fingerprint
adb shell getprop ro.bootloader
adb shell uname -a
adb shell id
La línea base resultante fue sheldonp / AFTSSS, Fire OS PS7716.5666N, incremental 0036005356164, Android 9 y kernel 4.4.162+. El número de serie se omite deliberadamente.

Conecté el Fire TV por USB con la depuración ADB habilitada y usé GhostLock 1.1.0, el paquete sheldon/sheldonp publicado con la guía de R0rt1z2 en XDA. El lanzador específico del dispositivo reinicia el Fire TV para comenzar desde un estado limpio, despliega el exploit y reintenta cuando es necesario.
La explotación exitosa crea un entorno de root temporal. Verifiqué el contexto de seguridad desde un shell ADB en lugar de tratar la finalización del script por sí sola como prueba:
adb shell
su
id
El contexto de root es efímero y se pierde al reiniciar. Ese comportamiento es importante: esta etapa es una primitiva habilitadora para el downgrade, no el mecanismo de persistencia final ni el desbloqueo del bootloader en sí.
La ejecución exitosa mostró uid=0, cambió SELinux a permisivo para el entorno temporal, montó el su temporal y deshabilitó los paquetes OTA de Fire OS gestionados por la herramienta.

El rastro completo de la explotación de GhostLock se conserva como evidencia de respaldo.
Con root temporal disponible, usé el flujo de trabajo de downgrade dedicado del paquete en lugar de escribir manualmente las particiones del firmware. Esto restauró un preloader compatible con la ruta existente de Kamakiri.
Después del downgrade, el Fire TV dejó intencionalmente de arrancar en Fire OS. En este flujo de trabajo específico, ese estado de no arranque es el traspaso esperado entre la etapa del kernel en vivo y la etapa de USB BootROM. No debe confundirse con la prueba de que un flash fallido arbitrario sea recuperable.
[!CAUTION] Nunca borres el Preloader. No improvises escrituras en LK, TEE, Preloader, boot, recovery, system, vendor u otras particiones protegidas. Las guías originales advierten que el daño al firmware crítico puede causar un hard brick permanente porque puede que no quede disponible una ruta de recuperación funcional.

El flujo de trabajo de Kamakiri utilizado para este dispositivo estaba soportado y documentado para Linux. Por lo tanto, inicié una sesión de Ubuntu Live y realicé allí todo el flujo de trabajo de desbloqueo, incluida la etapa de bajo nivel de USB BootROM, sin instalar Ubuntu en el host. No probé esta etapa en Windows ni macOS.
Usando el paquete Kamakiri sheldon/sheldonp referenciado por la guía de desbloqueo, el proceso fue:
bootrom-step.sh y conectar el Fire TV apagado por USB.fastboot-step.sh para finalizar el flujo de trabajo de desbloqueo.Kamakiri detectó la unidad como sheldonp, completó el downgrade de RPMB, flasheó los componentes TZ/LK requeridos por la cadena, inyectó el microloader y forzó el dispositivo a su modo fastboot hackeado.

Los hashes de los archivos y la versión de Ubuntu se registran arriba. Los lectores deben usar las guías originales enlazadas para instrucciones específicas de versión en lugar de asumir que estos pasos de alto nivel se aplican a otra compilación.
Traté los siguientes como hitos separados y capturé evidencia para cada uno:


Mi objetivo era conservar el Fire OS de fábrica en lugar de instalar una ROM personalizada de inmediato. En TWRP evité borrar datos o reemplazar el sistema operativo, y luego reinicié en la instalación existente de Fire OS. TWRP y la ruta de arranque desbloqueada permanecieron disponibles mientras se preservaba el entorno de usuario de fábrica.
Después de regresar a Fire OS, mantuve las actualizaciones OTA deshabilitadas para que Amazon no pudiera mover silenciosamente el dispositivo a una compilación que cambiara el exploit o modificara la cadena de arranque recuperada. También deshabilité el componente de protección de aplicaciones del sistema de Amazon comúnmente referido en las herramientas de la comunidad de Fire TV como ARCUS. Esto cambia el comportamiento de bloqueo de aplicaciones a nivel de SO de Amazon; no elude Widevine, las verificaciones de suscripción ni la aplicación de licencias implementada dentro de aplicaciones individuales.

Un bootloader desbloqueado y TWRP también hacen posible instalar software personalizado compatible. Una opción de la comunidad para esta familia de dispositivos es LineageOS 20 basado en Android 13. También pueden ser posibles otras ROMs compatibles, flujos de trabajo de recuperación o configuraciones de root persistente.
Esas alternativas no formaron parte de esta reproducción. Deben tratarse como procedimientos separados con sus propias consideraciones de firmware, TZ, borrado de datos, DRM, memoria y recuperación.
En una compilación de Fire OS vulnerable y soportada, el código que ya se ejecuta localmente en el dispositivo puede explotar la falla del kernel para obtener un contexto de root temporal. En este laboratorio, ese acceso amplió la superficie de ataque más allá del sistema operativo en ejecución: habilitó un downgrade de firmware que reintrodujo una condición de la cadena de arranque utilizable por un exploit de BootROM más antiguo.
Esta cadena ilustra por qué la seguridad de un dispositivo depende de más que parchear una sola capa. Una escalada de privilegios del kernel puede convertirse en un puente hacia persistencia de bajo nivel o compromiso de la cadena de arranque cuando el software privilegiado puede modificar el estado del firmware crítico para la seguridad.
.
├── README.md # Case study and methodology
├── LICENSE # CC BY 4.0 for original documentation and media
├── images/
│ ├── README.md # Evidence index and redaction guidance
│ └── evidence/ # Sanitized screenshots and photographs
└── references/
└── README.md # Source ledger and artifact guidance
Este repositorio no redistribuye los archivos ZIP de terceros. Obténlos de las guías originales de XDA, revisa sus términos aplicables y compara sus hashes con los valores registrados arriba.
CVE-2026-43499.4.4 de GhostLock y la guía de root temporal y downgrade para sheldon/sheldonp.Mi contribución es la reproducción independiente, el registro de ejecución específico del dispositivo, el análisis de cómo se conectan las etapas y la evidencia original publicada en este repositorio.
El registro de fuentes mantenido está en references/README.md. Las fuentes principales incluyen:
4.4sheldon/sheldonpsheldon/sheldonpremove_waiter()Este material se proporciona para uso educativo e investigación de seguridad autorizada en hardware que posees o que estás explícitamente autorizado a probar. Se ofrece sin garantía. Eres responsable del cumplimiento legal, la pérdida de datos, la interrupción del servicio y el daño al hardware resultante de tus acciones.
El texto e imágenes originales creados para este repositorio están licenciados bajo la Creative Commons Attribution 4.0 International License.
Las herramientas de terceros, el código de exploit, el firmware, las citas, las capturas de pantalla, las marcas registradas y los materiales referenciados siguen sujetos a su respectiva autoría y licencias. La inclusión de un enlace o crédito no relicencia ese material bajo CC BY 4.0.
| Campo | Objetivo de reproducción |
|---|
| Dispositivo | Amazon Fire TV Stick 3rd Gen |
| Modelo | AFTSSS |
| Nombre en clave | sheldonp |
| Sistema operativo | Fire OS 7.7.1.6 / build PS7716.5666N |
| Incremental | 0036005356164 |
| Base de Android | Android 9 |
| Kernel | 4.4.162+ |
| Host utilizado para la etapa BootROM | Ubuntu 26.04.1 LTS, iniciado como una sesión de USB en vivo |
| Herramientas de plataforma de Android | 37.0.1 |
| Implementación de root temporal | R0rt1z2/GhostLock 1.1.0, rama 4.4 |
| Implementación de BootROM | kamakiri-sheldon-1.0 |
| Resultado | Root temporal, downgrade del preloader, bootloader desbloqueado, TWRP y Fire OS preservado |
| Archivo | Fuente | Versión | SHA-256 |
|---|
ghostlock-sheldon-v1.1.0.zip | Guía de root temporal y downgrade en XDA | GhostLock 1.1.0 | 8D541F7DF58487AF6D6D45D778482D3455A71F62E32651751CFE0B2DDFC6554F |
kamakiri-sheldon-1.0.zip | Guía de desbloqueo del bootloader en XDA | Kamakiri Sheldon 1.0 | 1B07161D9F894935E5918A9B8F9A230F67B9487E9863C242E758338E8C6C5784 |
| Hito | Señal de validación | Evidencia |
|---|
| Línea base | Shell ADB antes de la explotación | 01-adb-shell-baseline.png |
| Exploit del kernel | Shell de root y uid=0 | 02-ghostlock-root-and-ota.png |
| Rastro de la explotación | Primitiva de GhostLock y log de parcheo de credenciales | 03-ghostlock-exploit-trace.png |
| Downgrade | Preloader vulnerable escrito exitosamente | 04-preloader-downgrade.png |
| BootROM | Kamakiri completó su primera etapa | 05-kamakiri-bootrom.png |
| Desbloqueo | Fastboot hackeado mostrado en la pantalla conectada | 06-hacked-fastboot.png |
| Recuperación | TWRP arrancó exitosamente | 07-twrp-first-boot.jpg |
| SO de fábrica conservado | Fire OS arrancó con Opciones de desarrollador disponibles | 08-fireos-developer-options.jpg |