
Отчёт по исследованию безопасности об эксплуатации CVE-2026-43499 на Amazon Fire TV Stick 3-го поколения (sheldonp), от временного root до разблокировки загрузчика.
sheldonp)Цепочка от повышения привилегий в ядре Linux до понижения версии preloader и разблокировки загрузчика.
Этот репозиторий документирует моё авторизованное воспроизведение цепочки эксплуатации CVE-2026-43499 на Amazon Fire TV Stick 3-го поколения (sheldonp). В цепочке использовался временный root на уровне ядра для выполнения контролируемого понижения версии preloader, а затем применялся существующий рабочий процесс Kamakiri BootROM для достижения разблокированного fastboot и завершения разблокировки загрузчика.
Это воспроизведение и тематическое исследование конкретного устройства. Я не обнаруживал CVE-2026-43499, не создавал оригинальный эксплойт IonStack/GhostLock и не разрабатывал Kamakiri. Исследователи и разработчики оригинальных работ указаны в разделе благодарностей ниже.
[!IMPORTANT] Этот отчёт — техническая запись, а не универсальное руководство по получению root. Совместимость сборок имеет значение, временный root — это не постоянный root, а ошибки, связанные с Preloader, LK, TEE или разделами, защищёнными dm-verity, могут навсегда превратить устройство в кирпич.
Полная цепочка была завершена 12 сентября 2026 года. Этот репозиторий фиксирует протестированное устройство и версии программного обеспечения, точные использованные архивы, их хеши SHA-256 и оригинальные доказательства, собранные в процессе.
Вне области применения: обнаружение уязвимости, новая реализация эксплойта, удалённая эксплуатация, постоянный root или поддержка устройств, отличных от протестированного экземпляра sheldonp. Во время этого воспроизведения кастомная прошивка не устанавливалась.
Ниже приведены точные ZIP-архивы, использованные при этом воспроизведении. Архивы не распространяются в этом репозитории; их хеши SHA-256 записаны, чтобы независимо полученные копии можно было сравнить с файлами, использованными в этом тематическом исследовании.
Эти хеши идентифицируют копии, использованные в этом тематическом исследовании; читателям всё равно следует сравнивать свои загрузки с оригинальными источниками и ознакомиться с применимыми лицензиями третьих сторон.
CVE-2026-43499, также известная как GhostLock, — это use-after-free в пути priority-inheritance futex/rtmutex ядра Linux. Во время отката proxy-lock функция remove_waiter() работала с current вместо задачи, сохранённой в waiter->task. В результате фактический ожидающий мог вернуться в пространство пользователя, когда pi_blocked_on всё ещё ссылался на rt_mutex_waiter в освобождённом кадре стека ядра.
Оригинальное исследование IonStack превращает эту висячую ссылку на стек в примитив локального повышения привилегий. R0rt1z2 адаптировал эту технику для Fire TV Stick 3-го поколения и Fire TV Stick Lite (sheldonp/sheldon), работающих под управлением Fire OS 7 на ядре 4.4.
Ключевое отличие в этом тематическом исследовании состоит в том, что CVE-2026-43499 не разблокирует загрузчик напрямую. Она обеспечивает временный доступ на уровне ядра. Этот недолговечный доступ позволяет выполнить контролируемое понижение версии preloader, необходимое перед запуском более старой цепочки 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]Цепочка пересекает две отдельные границы безопасности:
Перед изменением устройства я определил кодовое имя аппаратного обеспечения и записал версии Fire OS, сборки, загрузчика и ядра через 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
Полученная базовая линия: sheldonp / AFTSSS, Fire OS PS7716.5666N, инкрементальная версия 0036005356164, Android 9 и ядро 4.4.162+. Серийный номер намеренно опущен.

Я подключил Fire TV по USB с включённой отладкой ADB и использовал GhostLock 1.1.0, пакет sheldon/sheldonp, опубликованный вместе с руководством R0rt1z2 на XDA. Специфичный для устройства лаунчер перезагружает Fire TV для запуска из чистого состояния, разворачивает эксплойт и при необходимости повторяет попытки.
Успешная эксплуатация создаёт временную root-среду. Я проверил контекст безопасности из ADB shell, а не полагался только на завершение скрипта как на доказательство:
adb shell
su
id
Root-контекст эфемерен и теряется при перезагрузке. Такое поведение важно: этот этап — обеспечивающий примитив для понижения версии, а не окончательный механизм персистентности или сама разблокировка загрузчика.
Успешный запуск показал uid=0, перевёл SELinux в режим permissive для временной среды, смонтировал временный su и отключил пакеты OTA Fire OS, обрабатываемые инструментом.

Полная трассировка эксплойта GhostLock сохранена как подтверждающее доказательство.
Имея доступ к временному root, я использовал специальный рабочий процесс понижения версии из пакета вместо ручной записи разделов прошивки. Это восстановило preloader, совместимый с существующим путём Kamakiri.
После понижения версии Fire TV намеренно перестал загружаться в Fire OS. В этом конкретном рабочем процессе такое неработающее состояние является ожидаемой передачей между этапом работающего ядра и этапом USB BootROM. Его нельзя путать с доказательством того, что произвольная неудачная прошивка поддаётся восстановлению.
[!CAUTION] Никогда не стирайте Preloader. Не импровизируйте с записями в LK, TEE, Preloader, boot, recovery, system, vendor или другие защищённые разделы. Руководства оригинальных авторов предупреждают, что повреждение критической прошивки может привести к необратимому аппаратному кирпичу, поскольку рабочий путь восстановления может больше не остаться доступным.

Рабочий процесс Kamakiri, использованный для этого устройства, поддерживался и документировался для Linux. Поэтому я загрузил live-сессию Ubuntu и выполнил там весь рабочий процесс разблокировки, включая низкоуровневый этап USB BootROM, без установки Ubuntu на хост. Я не тестировал этот этап на Windows или macOS.
Используя пакет Kamakiri для sheldon/sheldonp, указанный в руководстве по разблокировке, процесс был следующим:
bootrom-step.sh и подключить выключенный Fire TV по USB.fastboot-step.sh для завершения рабочего процесса разблокировки.Kamakiri определил устройство как sheldonp, завершил понижение версии RPMB, прошил необходимые компоненты TZ/LK цепочки, внедрил microloader и принудительно перевёл устройство в режим взломанного fastboot.

Хеши архивов и версия Ubuntu записаны выше. Читателям следует использовать связанные руководства оригинальных авторов для инструкций, специфичных для конкретной версии, а не предполагать, что эти высокоуровневые шаги применимы к другой сборке.
Я рассматривал следующие пункты как отдельные вехи и зафиксировал доказательства для каждой из них:


Моей целью было сохранить стоковую Fire OS, а не сразу устанавливать кастомную прошивку. В TWRP я избегал стирания данных или замены операционной системы, затем перезагрузился в существующую установку Fire OS. TWRP и разблокированный путь загрузки остались доступными, а стоковая пользовательская среда была сохранена.
После возврата в Fire OS я оставил OTA-обновления отключёнными, чтобы Amazon не мог незаметно перевести устройство на сборку, которая изменила бы эксплойт или модифицировала восстановленную цепочку загрузки. Я также отключил компонент защиты системных приложений Amazon, обычно называемый в инструментах сообщества Fire TV как ARCUS. Это изменяет поведение блокировки приложений на уровне ОС Amazon; это не обходит Widevine, проверки подписки или лицензионные ограничения, реализованные внутри отдельных приложений.

Разблокированный загрузчик и TWRP также позволяют устанавливать совместимое кастомное программное обеспечение. Один из вариантов сообщества для этого семейства устройств — LineageOS 20 на базе Android 13. Другие совместимые прошивки, рабочие процессы восстановления или конфигурации постоянного root также могут быть возможны.
Эти альтернативы не были частью данного воспроизведения. Их следует рассматривать как отдельные процедуры с собственными соображениями относительно прошивки, TZ, стирания данных, DRM, памяти и восстановления.
На уязвимой и поддерживаемой сборке Fire OS код, уже выполняющийся локально на устройстве, может эксплуатировать уязвимость ядра для получения временного root-контекста. В этой лаборатории такой доступ расширил поверхность атаки за пределы работающей операционной системы: он позволил понизить версию прошивки, что вернуло состояние цепочки загрузки, пригодное для использования более старым эксплойтом BootROM.
Эта цепочка иллюстрирует, почему безопасность устройства зависит не только от исправления одного слоя. Повышение привилегий в ядре может стать мостом к низкоуровневой персистентности или компрометации цепочки загрузки, когда привилегированное программное обеспечение может изменять критичное для безопасности состояние прошивки.
.
├── 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
Этот репозиторий не распространяет сторонние ZIP-архивы. Получите их из оригинальных руководств на XDA, ознакомьтесь с применимыми к ним условиями и сравните их хеши со значениями, записанными выше.
CVE-2026-43499.4.4 и руководство по временному root и понижению версии для sheldon/sheldonp.Мой вклад — независимое воспроизведение, запись выполнения для конкретного устройства, анализ того, как связаны этапы, и оригинальные доказательства, опубликованные в этом репозитории.
Поддерживаемый реестр источников находится в references/README.md. Основные источники включают:
4.4sheldon/sheldonpsheldon/sheldonpremove_waiter()Этот материал предоставлен для образовательного использования и авторизованных исследований безопасности на оборудовании, которым вы владеете или которое вам явно разрешено тестировать. Он предоставляется без каких-либо гарантий. Вы несёте ответственность за соблюдение законодательства, потерю данных, нарушение работы сервисов и повреждение оборудования в результате ваших действий.
Оригинальный текст и изображения, созданные для этого репозитория, лицензированы под Creative Commons Attribution 4.0 International License.
Сторонние инструменты, код эксплойтов, прошивки, цитаты, скриншоты, товарные знаки и упомянутые материалы остаются предметом их соответствующего авторства и лицензий. Включение ссылки или упоминания не перелицензирует этот материал под CC BY 4.0.
| Поле | Цель воспроизведения |
|---|
| Устройство | Amazon Fire TV Stick 3-го поколения |
| Модель | 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 tools | 37.0.1 |
| Реализация временного root | R0rt1z2/GhostLock 1.1.0, ветка 4.4 |
| Реализация BootROM | kamakiri-sheldon-1.0 |
| Результат | Временный root, понижение версии preloader, разблокированный загрузчик, TWRP и сохранённая Fire OS |
| Архив | Источник | Версия | SHA-256 |
|---|
ghostlock-sheldon-v1.1.0.zip | Руководство по временному root и понижению версии на XDA | GhostLock 1.1.0 | 8D541F7DF58487AF6D6D45D778482D3455A71F62E32651751CFE0B2DDFC6554F |
kamakiri-sheldon-1.0.zip | Руководство по разблокировке загрузчика на XDA | Kamakiri Sheldon 1.0 | 1B07161D9F894935E5918A9B8F9A230F67B9487E9863C242E758338E8C6C5784 |
| Веха | Сигнал проверки | Доказательство |
|---|
| Базовая линия | ADB shell до эксплуатации | 01-adb-shell-baseline.png |
| Эксплойт ядра | Root shell и uid=0 | 02-ghostlock-root-and-ota.png |
| Трассировка эксплойта | Примитив GhostLock и лог патча учётных данных | 03-ghostlock-exploit-trace.png |
| Понижение версии | Уязвимый preloader успешно записан | 04-preloader-downgrade.png |
| BootROM | Kamakiri завершил свой первый этап | 05-kamakiri-bootrom.png |
| Разблокировка | Взломанный fastboot отображён на подключённом экране | 06-hacked-fastboot.png |
| Восстановление | TWRP успешно загружен | 07-twrp-first-boot.jpg |
| Сохранена стоковая ОС | Fire OS загружена с доступными параметрами разработчика | 08-fireos-developer-options.jpg |