Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2026-43499-firetv-sheldonp-writeup — 关于在 Amazon Fire TV Stick 3rd Gen(sheldonp)上利用 CVE-2026-43499 的安全研究文章,内容涵盖从临时 root 到 bootloader 解锁。 | Kitploit
工具/GitHubGitHub/accessmodifier364/cve-2026-43499-firetv-sheldonp-writeup
Android安全嵌入式系统安全权限提升漏洞分析漏洞利用逆向工程移动安全硬件与物联网安全论文与研究

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
学习与教育
GitHubaccessmodifier364/cve-2026-43499-firetv-sheldonp-writeup

cve-2026-43499-firetv-sheldonp-writeup

关于在 Amazon Fire TV Stick 3rd Gen(sheldonp)上利用 CVE-2026-43499 的安全研究文章,内容涵盖从临时 root 到 bootloader 解锁。

查看仓库
11101个月前尚未审核

Amazon Fire TV Stick 3rd Gen(sheldonp)上的 CVE-2026-43499

将 Linux 内核提权串联为 preloader 降级与 bootloader 解锁。

License: MIT

概述

本仓库记录了我对 Amazon Fire TV Stick 3rd Gen(sheldonp)上 CVE-2026-43499 利用链的授权复现过程。该利用链利用临时内核 root 执行受控的 preloader 降级,随后使用现有的 Kamakiri BootROM 工作流进入已解锁的 fastboot 并完成 bootloader 解锁。

这是一份复现记录和针对特定设备的案例研究。我并未发现 CVE-2026-43499,也未创建原始的 IonStack/GhostLock 漏洞利用,亦未开发 Kamakiri。上游研究人员和开发者已在下方致谢。

[!IMPORTANT] 本文是一份技术记录,而非通用的 root 指南。构建兼容性至关重要,临时 root 并非持久 root,涉及 Preloader、LK、TEE 或受 dm-verity 保护分区的操作失误可能导致设备永久变砖。

复现记录

端到端利用链已于 2026 年 9 月 12 日完成。本仓库记录了经过测试的设备与软件版本、所使用的确切归档文件及其 SHA-256 哈希值,以及过程中采集的原始证据。

范围

字段复现目标
设备Amazon Fire TV Stick 3rd Gen
型号AFTSSS
代号sheldonp
操作系统Fire OS 7.7.1.6 / 构建版本 PS7716.5666N
增量版本0036005356164
Android 基础版本Android 9
内核4.4.162+
用于 BootROM 阶段的主机Ubuntu 26.04.1 LTS,以 live USB 会话启动
Android platform tools37.0.1
临时 root 实现R0rt1z2/GhostLock 1.1.0,4.4 分支
BootROM 实现kamakiri-sheldon-1.0
结果临时 root、preloader 降级、已解锁 bootloader、TWRP,并保留 Fire OS

不在范围内:漏洞发现、新的漏洞利用实现、远程利用、持久 root,或对除已测试 sheldonp 设备之外的其他设备的支持。本次复现过程中未安装任何自定义 ROM。

复现归档文件

以下为本次复现过程中所使用的确切 ZIP 归档文件。这些归档文件不在本仓库中再分发;其 SHA-256 哈希值已被记录,以便将独立获取的副本与本案例研究中使用的文件进行比对。

归档文件来源版本SHA-256
ghostlock-sheldon-v1.1.0.zipXDA 上的临时 root 与降级指南GhostLock 1.1.08D541F7DF58487AF6D6D45D778482D3455A71F62E32651751CFE0B2DDFC6554F
kamakiri-sheldon-1.0.zipXDA 上的 bootloader 解锁指南Kamakiri Sheldon 1.01B07161D9F894935E5918A9B8F9A230F67B9487E9863C242E758338E8C6C5784

这些哈希值标识了本案例研究中使用的副本;读者仍应将下载的文件与原始上游来源进行比对,并查阅适用的第三方许可证。

技术背景

CVE-2026-43499,又称 GhostLock,是 Linux 内核优先级继承 futex/rtmutex 路径中的一个释放后使用(use-after-free)漏洞。在代理锁回滚期间,remove_waiter() 操作的是 current,而非存储在 waiter->task 中的任务。因此,实际的等待者可能返回用户空间时,其 pi_blocked_on 仍引用着已释放内核栈帧中的 rt_mutex_waiter。

原始的 IonStack 研究将这一悬空栈引用转化为本地提权原语。R0rt1z2 将该技术适配到运行 Fire OS 7(基于 4.4 内核)的 Fire TV Stick 3rd Gen 和 Fire TV Stick Lite(sheldonp/sheldon)。

本案例研究的关键区别在于,CVE-2026-43499 并不会直接解锁引导加载程序。它提供的是临时的内核级访问权限。正是这段短暂的访问权限,使得在运行较旧的 Kamakiri BootROM 链之前所需的受控 preloader 降级成为可能。

漏洞利用链

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]

这条链路跨越两个独立的安全边界:

  1. 内核边界: 一个无特权的本地进程通过 GhostLock 获得临时的 root 上下文。
  2. 启动链边界: 临时 root 通过恢复兼容的 preloader,为设备准备一条已知的基于 BootROM 的解锁路径。

方法论

1. 建立基线

在更改设备之前,我通过 ADB 识别了硬件代号,并记录了 Fire OS、构建版本、bootloader 和内核版本。

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

生成的基线为 sheldonp / AFTSSS、Fire OS PS7716.5666N、增量版本 0036005356164、Android 9 以及内核 4.4.162+。序列号被有意省略。

ADB shell 基线,显示非特权 shell 上下文

2. 使用 GhostLock 获取临时 root

我通过 USB 连接 Fire TV 并启用 ADB 调试,使用了 GhostLock 1.1.0,即随 R0rt1z2 XDA 指南发布的 sheldon/sheldonp 包。该设备专用启动器会重启 Fire TV 以从全新状态启动、部署漏洞利用,并在必要时重试。

成功利用会创建一个临时 root 环境。我通过 ADB shell 验证了安全上下文,而不是仅将脚本完成视为证明:

adb shell
su
id

根上下文是临时的,重启后即丢失。这一行为很重要:此阶段只是降级的使能原语,而不是最终的持久化机制,也不是 bootloader 解锁本身。

成功运行显示了 uid=0,为临时环境将 SELinux 改为 permissive,挂载了临时的 su,并禁用了该工具处理的 Fire OS OTA 软件包。

GhostLock root shell 显示 uid 0 和 OTA 软件包变更

完整的 GhostLock 漏洞利用跟踪记录 作为佐证保留。

3. 降级 preloader

在获得临时 root 后,我使用了该软件包专用的降级工作流,而不是手动写入固件分区。这恢复了与现有 Kamakiri 路径兼容的 preloader。

降级后,Fire TV 有意停止启动进入 Fire OS。在此特定工作流中,这种无法启动的状态是 live-kernel 阶段与 USB BootROM 阶段之间预期的交接状态。不得将其与任意失败刷写可恢复的证明相混淆。

[!CAUTION] 切勿擦除 Preloader。不要随意向 LK、TEE、Preloader、boot、recovery、system、vendor 或其他受保护分区写入。上游指南警告称,对关键固件的损坏可能导致永久性硬砖,因为可用的恢复路径可能不再存在。

GhostLock 报告成功写入存在漏洞的 preloader

4. 运行 Kamakiri BootROM 链

本设备所使用的 Kamakiri 工作流受支持并有 Linux 文档记录。因此我启动了 Ubuntu Live 会话,并在其中执行了完整的解锁工作流,包括底层 USB BootROM 阶段,而未在主机上安装 Ubuntu。我未在 Windows 或 macOS 上测试此阶段。

使用解锁指南引用的 sheldon/sheldonp Kamakiri 软件包,流程如下:

  1. 准备 Python、PySerial、PyUSB、ADB、Fastboot 以及 Kamakiri 所需的 USB 环境。
  2. 启动 bootrom-step.sh 并通过 USB 连接已关机的 Fire TV。
  3. 等待 BootROM 阶段完成,并将设备转入修改后的 fastboot 环境。
  4. 运行 fastboot-step.sh 以完成解锁工作流。
  5. 重启并验证预期的已解锁启动路径可用。

Kamakiri 将该设备识别为 sheldonp,完成了 RPMB 降级,刷写了该链所需的 TZ/LK 组件,注入了 microloader,并强制设备进入其破解的 fastboot 模式。

Kamakiri 在 sheldonp 上完成 BootROM 阶段

归档哈希和 Ubuntu 版本已记录在上文。读者应使用链接的上游指南获取特定版本的说明,而不是假设这些高层步骤适用于其他构建。

5. 验证结果

我将以下各项视为独立的里程碑,并为每一项捕获了证据:

里程碑验证信号证据
基线利用前的 ADB shell01-adb-shell-baseline.png
内核漏洞利用Root shell 和 uid=002-ghostlock-root-and-ota.png
漏洞利用跟踪GhostLock 原语和凭据修补日志03-ghostlock-exploit-trace.png
降级成功写入存在漏洞的 preloader04-preloader-downgrade.png
BootROMKamakiri 完成其第一阶段05-kamakiri-bootrom.png
解锁连接的屏幕上显示 hacked fastboot06-hacked-fastboot.png
恢复TWRP 成功启动07-twrp-first-boot.jpg
保留原厂 OSFire OS 启动且开发者选项可用08-fireos-developer-options.jpg

Kamakiri BootROM 阶段后显示的 Hacked fastboot 模式

下载工具