
Análise de pesquisa de segurança sobre a exploração da CVE-2026-43499 no Amazon Fire TV Stick 3ª Geração (sheldonp), do root temporário ao desbloqueio do bootloader.
sheldonp)Encadeando uma escalada de privilégios no kernel Linux em um downgrade de preloader e desbloqueio de bootloader.
Este repositório documenta minha reprodução autorizada da cadeia de exploração CVE-2026-43499 em um Amazon Fire TV Stick 3ª Geração (sheldonp). A cadeia utilizou root temporário no kernel para executar um downgrade controlado de preloader e, em seguida, usou o fluxo de trabalho existente do Kamakiri BootROM para alcançar o fastboot desbloqueado e concluir o desbloqueio do bootloader.
Esta é uma reprodução e um estudo de caso específico do dispositivo. Não descobri o CVE-2026-43499, não criei o exploit original IonStack/GhostLock, nem desenvolvi o Kamakiri. Os pesquisadores e desenvolvedores originais são creditados abaixo.
[!IMPORTANT] Este artigo é um registro técnico, não um guia universal de root. A compatibilidade de build importa, root temporário não é root persistente, e erros envolvendo Preloader, LK, TEE ou partições protegidas por dm-verity podem brickar o dispositivo permanentemente.
A cadeia completa foi concluída em 12 de setembro de 2026. Este repositório registra o dispositivo testado e as versões de software, os arquivos exatos utilizados, seus hashes SHA-256 e as evidências originais capturadas durante o processo.
Fora do escopo: descoberta de vulnerabilidade, uma nova implementação de exploit, exploração remota, root persistente ou suporte para dispositivos diferentes da unidade sheldonp testada. Nenhuma ROM customizada foi instalada durante esta reprodução.
Os seguintes são os arquivos ZIP exatos utilizados durante esta reprodução. Os arquivos não são redistribuídos neste repositório; seus hashes SHA-256 são registrados para que cópias obtidas independentemente possam ser comparadas com os arquivos usados neste estudo de caso.
Esses hashes identificam as cópias usadas neste estudo de caso; os leitores ainda devem comparar seus downloads com as fontes originais upstream e revisar as licenças de terceiros aplicáveis.
CVE-2026-43499, também conhecido como GhostLock, é um use-after-free no caminho futex/rtmutex de herança de prioridade do kernel Linux. Durante o rollback do proxy-lock, remove_waiter() operava sobre current em vez da tarefa armazenada em waiter->task. Como resultado, o waiter real poderia retornar ao espaço do usuário com pi_blocked_on ainda referenciando um rt_mutex_waiter em um frame de pilha do kernel já liberado.
A pesquisa original do IonStack transforma essa referência de pilha pendente em uma primitiva de escalada de privilégios local. R0rt1z2 adaptou a técnica para o Fire TV Stick 3ª Geração e o Fire TV Stick Lite (sheldonp/sheldon) executando Fire OS 7 em um kernel 4.4.
A distinção fundamental neste estudo de caso é que o CVE-2026-43499 não desbloqueia o bootloader diretamente. Ele fornece acesso temporário em nível de kernel. Esse acesso de curta duração torna possível realizar o downgrade controlado de preloader necessário antes que a cadeia mais antiga do Kamakiri BootROM possa ser executada.
flowchart LR
A[Fire OS 7 no sheldonp] --> B[CVE-2026-43499 / GhostLock]
B --> C[Shell root temporário]
C --> D[Downgrade controlado de preloader]
D --> E[Estado de transição esperado sem boot]
E --> F[Estágio Kamakiri BootROM]
F --> G[Fastboot desbloqueado]
G --> H[Bootloader desbloqueado]A cadeia atravessa duas fronteiras de segurança distintas:
Antes de alterar o dispositivo, identifiquei o codinome do hardware e registrei as versões do Fire OS, build, bootloader e kernel via 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
A linha de base resultante foi sheldonp / AFTSSS, Fire OS PS7716.5666N, incremental 0036005356164, Android 9 e kernel 4.4.162+. O número de série foi deliberadamente omitido.

Conectei o Fire TV via USB com a depuração ADB habilitada e usei o GhostLock 1.1.0, o pacote sheldon/sheldonp publicado com o guia XDA do R0rt1z2. O launcher específico do dispositivo reinicia o Fire TV para começar de um estado limpo, implanta o exploit e tenta novamente quando necessário.
A exploração bem-sucedida cria um ambiente root temporário. Verifiquei o contexto de segurança a partir de um shell ADB em vez de tratar a conclusão do script como prova suficiente:
adb shell
su
id
O contexto root é efêmero e é perdido ao reiniciar. Esse comportamento é importante: este estágio é uma primitiva habilitadora para o downgrade, não o mecanismo de persistência final nem o desbloqueio do bootloader em si.
A execução bem-sucedida mostrou uid=0, alterou o SELinux para permissivo para o ambiente temporário, montou o su temporário e desabilitou os pacotes OTA do Fire OS tratados pela ferramenta.

O traço completo do exploit GhostLock é mantido como evidência de suporte.
Com o root temporário disponível, usei o fluxo de trabalho dedicado de downgrade do pacote em vez de gravar manualmente as partições de firmware. Isso restaurou um preloader compatível com o caminho Kamakiri existente.
Após o downgrade, o Fire TV intencionalmente parou de inicializar no Fire OS. Neste fluxo de trabalho específico, esse estado sem boot é a transição esperada entre o estágio de kernel ativo e o estágio USB BootROM. Ele não deve ser confundido com prova de que uma gravação falha arbitrária é recuperável.
[!CAUTION] Nunca apague o Preloader. Não improvise gravações em LK, TEE, Preloader, boot, recovery, system, vendor ou outras partições protegidas. Os guias upstream alertam que danos ao firmware crítico podem causar um hard brick permanente, pois um caminho de recuperação funcional pode não permanecer disponível.

O fluxo de trabalho Kamakiri usado para este dispositivo era suportado e documentado para Linux. Portanto, inicializei uma sessão Ubuntu Live e realizei todo o fluxo de desbloqueio ali, incluindo o estágio USB BootROM de baixo nível, sem instalar o Ubuntu no host. Não testei este estágio no Windows ou macOS.
Usando o pacote Kamakiri sheldon/sheldonp referenciado pelo guia de desbloqueio, o processo foi:
bootrom-step.sh e conectar o Fire TV desligado via USB.fastboot-step.sh para finalizar o fluxo de desbloqueio.O Kamakiri detectou a unidade como sheldonp, concluiu o downgrade do RPMB, gravou os componentes TZ/LK exigidos pela cadeia, injetou o microloader e forçou o dispositivo ao seu modo fastboot modificado.

Os hashes dos arquivos e a versão do Ubuntu estão registrados acima. Os leitores devem usar os guias upstream vinculados para instruções específicas de versão, em vez de assumir que esses passos de alto nível se aplicam a outra build.
Tratei os seguintes como marcos separados e capturei evidências para cada um deles:


Meu objetivo era manter o Fire OS de fábrica em vez de instalar imediatamente uma ROM customizada. No TWRP, evitei apagar dados ou substituir o sistema operacional, e então reiniciei na instalação existente do Fire OS. O TWRP e o caminho de boot desbloqueado permaneceram disponíveis enquanto o ambiente de usuário de fábrica foi preservado.
Após retornar ao Fire OS, mantive as atualizações OTA desabilitadas para que a Amazon não pudesse mover silenciosamente o dispositivo para uma build que alterasse o exploit ou modificasse a cadeia de boot recuperada. Também desabilitei o componente de proteção de aplicativos do sistema da Amazon comumente referido nas ferramentas da comunidade Fire TV como ARCUS. Isso altera o comportamento de bloqueio de aplicativos em nível de SO da Amazon; não contorna o Widevine, verificações de assinatura ou aplicação de licenças implementadas dentro de aplicativos individuais.

Um bootloader desbloqueado e o TWRP também tornam possível instalar software customizado compatível. Uma opção da comunidade para esta família de dispositivos é o LineageOS 20 baseado no Android 13. Outras ROMs compatíveis, fluxos de trabalho de recuperação ou configurações de root persistente também podem ser possíveis.
Essas alternativas não fizeram parte desta reprodução. Elas devem ser tratadas como procedimentos separados com suas próprias considerações de firmware, TZ, apagamento de dados, DRM, memória e recuperação.
Em uma build do Fire OS vulnerável e suportada, código já em execução local no dispositivo pode explorar a falha do kernel para obter um contexto root temporário. Neste laboratório, esse acesso expandiu a superfície de ataque além do sistema operacional em execução: permitiu um downgrade de firmware que reintroduziu uma condição da cadeia de boot utilizável por um exploit de BootROM mais antigo.
Essa cadeia ilustra por que a segurança do dispositivo depende de mais do que corrigir uma única camada. Uma escalada de privilégios no kernel pode se tornar uma ponte para persistência de nível inferior ou comprometimento da cadeia de boot quando software privilegiado pode modificar o estado de firmware crítico para a segurança.
.
├── README.md # Estudo de caso e metodologia
├── LICENSE # CC BY 4.0 para documentação e mídia originais
├── images/
│ ├── README.md # Índice de evidências e orientação de redação
│ └── evidence/ # Capturas de tela e fotografias sanitizadas
└── references/
└── README.md # Registro de fontes e orientação de artefatos
Este repositório não redistribui os arquivos ZIP de terceiros. Obtenha-os nos guias originais do XDA, revise seus termos aplicáveis e compare seus hashes com os valores registrados acima.
CVE-2026-43499.4.4 do GhostLock e o guia de root temporário e downgrade para sheldon/sheldonp.Minha contribuição é a reprodução independente, o registro de execução específico do dispositivo, a análise de como os estágios se conectam e as evidências originais publicadas neste repositório.
O registro de fontes mantido está em references/README.md. As fontes primárias incluem:
4.4sheldon/sheldonpsheldon/sheldonpremove_waiter()Este material é fornecido para uso educacional e pesquisa de segurança autorizada em hardware que você possui ou tem permissão explícita para testar. Ele não vem com nenhuma garantia. Você é responsável pela conformidade legal, perda de dados, interrupção de serviço e danos ao hardware resultantes de suas ações.
O texto e as imagens originais criados para este repositório estão licenciados sob a Creative Commons Attribution 4.0 International License.
Ferramentas de terceiros, código de exploit, firmware, citações, capturas de tela, marcas registradas e materiais referenciados permanecem sujeitos à sua respectiva autoria e licenças. A inclusão de um link ou crédito não relicencia esse material sob CC BY 4.0.
| Campo | Alvo da reprodução |
|---|
| Dispositivo | Amazon Fire TV Stick 3ª Geração |
| Modelo | AFTSSS |
| Codinome | sheldonp |
| Sistema operacional | Fire OS 7.7.1.6 / build PS7716.5666N |
| Incremental | 0036005356164 |
| Base Android | Android 9 |
| Kernel | 4.4.162+ |
| Host usado para o estágio BootROM | Ubuntu 26.04.1 LTS, inicializado como sessão live USB |
| Android platform tools | 37.0.1 |
| Implementação de root temporário | R0rt1z2/GhostLock 1.1.0, branch 4.4 |
| Implementação do BootROM | kamakiri-sheldon-1.0 |
| Resultado | Root temporário, downgrade de preloader, bootloader desbloqueado, TWRP e Fire OS preservado |
| Arquivo | Fonte | Versão | SHA-256 |
|---|
ghostlock-sheldon-v1.1.0.zip | Guia de root temporário e downgrade no XDA | GhostLock 1.1.0 | 8D541F7DF58487AF6D6D45D778482D3455A71F62E32651751CFE0B2DDFC6554F |
kamakiri-sheldon-1.0.zip | Guia de desbloqueio de bootloader no XDA | Kamakiri Sheldon 1.0 | 1B07161D9F894935E5918A9B8F9A230F67B9487E9863C242E758338E8C6C5784 |
| Marco | Sinal de validação | Evidência |
|---|
| Linha de base | Shell ADB antes da exploração | 01-adb-shell-baseline.png |
| Exploit do kernel | Shell root e uid=0 | 02-ghostlock-root-and-ota.png |
| Traço do exploit | Primitiva GhostLock e log de patch de credenciais | 03-ghostlock-exploit-trace.png |
| Downgrade | Preloader vulnerável gravado com sucesso | 04-preloader-downgrade.png |
| BootROM | Kamakiri concluiu seu primeiro estágio | 05-kamakiri-bootrom.png |
| Desbloqueio | Fastboot modificado exibido na tela conectada | 06-hacked-fastboot.png |
| Recuperação | TWRP inicializado com sucesso | 07-twrp-first-boot.jpg |
| SO de fábrica preservado | Fire OS inicializado com Opções de Desenvolvedor disponíveis | 08-fireos-developer-options.jpg |