
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 un 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 en el kernel para ejecutar un downgrade controlado del preloader y, a continuación, empleó el flujo de trabajo existente de Kamakiri BootROM para alcanzar el fastboot desbloqueado y completar el desbloqueo del bootloader.
Se trata de 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 las compilaciones es importante, el root temporal no es root persistente, y los errores que involucran Preloader, LK, TEE o particiones protegidas por dm-verity pueden dejar el dispositivo permanentemente inutilizable (brick).
La cadena completa 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 las evidencias originales capturadas durante el proceso.
| Campo | Objetivo de la reproducción |
|---|---|
| Dispositivo | Amazon Fire TV Stick 3rd Gen |
| Modelo | AFTSSS |
| Nombre en clave | sheldonp |
| Sistema operativo | Fire OS 7.7.1.6 / compilación 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 conservado |
Fuera del 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.
| Archivo | Origen | 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 |
Estos hashes identifican las copias utilizadas en este estudio de caso; los lectores deben comparar igualmente 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 la reversión 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 haciendo referencia a un rt_mutex_waiter en un marco 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 al Fire TV Stick Lite (sheldonp/sheldon) ejecutando Fire OS 7 sobre un kernel 4.4.
La distinción clave en este caso de estudio 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 la degradación controlada del preloader requerida 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, compilación, 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 partir de 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 una shell de ADB en lugar de considerar la finalización del script por sí sola como prueba:
adb shell
su
id
El contexto root es efímero y se pierde al reiniciar. Ese comportamiento es importante: esta etapa es una primitiva habilitante para el downgrade, no el mecanismo de persistencia final ni el propio desbloqueo del bootloader.
La ejecución exitosa mostró uid=0, cambió SELinux a permissive para el entorno temporal, montó el su temporal y deshabilitó los paquetes OTA de Fire OS gestionados por la herramienta.

El registro completo del exploit GhostLock se conserva como evidencia de respaldo.