
Повышение привилегий в ядре из памяти для Lenovo Legion Y700 2023 (TB320FC) с использованием CVE-2025-21479, уязвимости SMMU в GPU Qualcomm Adreno, с управлением root через ReSukiSU.
English | 简体中文
Повышение привилегий в ядре в памяти для Lenovo Legion Y700 2023 (TB320FC), использующее CVE-2025-21479 (уязвимость SMMU GPU Qualcomm Adreno), с полным управлением root, обеспечиваемым ReSukiSU.
Без разблокировки загрузчика. Без прошивки. Без ПК для активации.
⚠️ Для авторизованных исследований безопасности на устройствах, которыми вы владеете. См. Отказ от ответственности.
Все смещения и поведение в этом проекте настроены для следующего устройства. Не ожидайте, что оно будет работать на других моделях/прошивках без перенастройки (см. exploit/device_info.txt).
| Модель | Lenovo Legion Y700 2023 (TB320FC) / TB320FC_PRC |
| SoC | Qualcomm SM8475 (Snapdragon 8+ Gen 1, Adreno 730) |
| Система | ZUXOS 1.1.350 / Android 15 (SDK 35) |
| Сборка | AQ3A.240812.002 (TB320FC_CN_OPEN_USER_Q00031.0_V_ZUXOS_1.1.350_ST_250418) |
| Ядро | 5.10.209-android12-9-gef44381c3e04-ab50 |
| Патч безопасности | 2025-03-05 |
| Загрузчик | Заблокирован (этот проект его не разблокирует) |
Проверено как работающее по состоянию на 2026-09 на вышеуказанной прошивке.
| Возможность | Реализация |
|---|---|
| Повышение привилегий | эксплойт cheese: ошибка KGSL SMMU → произвольное физическое чтение/запись через GPU → root в памяти (uid 0 + полные capabilities) |
| Управление root | ReSukiSU (форк KernelSU) в режиме late-load загружает kernelsu.ko; su обслуживается внутриядерным хуком (u:r:ksu:s0) |
| SELinux | Восстановлен в Enforcing после активации (правила политики ReSukiSU остаются применёнными) |
| UX в одно касание | APK RootActivator со встроенным эксплойтом + ksud; одно касание после загрузки |
| Автовосстановление (опционально) | Цепочка самовосстановления по триггеру загрузки: адаптивный триггер с проверкой нагрузки → cheese → конвейер root → опционально hosts/Vector. Отключено по умолчанию (com.poc.roottool.CONFIG) |
| Xposed-модули | Поддерживаются через NeoZygisk (ptrace-инъекция в zygote) + Vector |
| Персистентность | Отсутствует по замыслу (в памяти): повторная активация после каждой перезагрузки (~3-4 мин; или включите цепочку автовосстановления) |
| RootActivator (активирован) | ReSukiSU (работает, 2 модуля) |
|---|---|
![]() | ![]() |
Слева: RootActivator после успешной активации — SELinux Enforcing, kernelsu загружен, su доступен.
Справа: менеджер ReSukiSU — режим LKM работает с 2 модулями (NeoZygisk + Vector).
RootActivator APK
│
├─ libcheese.so ── KGSL SMMU exploit (CVE-2025-21479)
│ 1. Adreno 730 microcode access-check flaw (SDS packet mistaken for RingBuffer)
│ 2. Fake CP_SMMU_TABLE_UPDATE overwrites GPU TTBR0 → arbitrary physical R/W
│ 3. Zero selinux_state.enforcing; dump kernel from fixed PA 0xA8000000,
│ parse kallsyms from the raw image (SM8475 has no physical KASLR)
│ 4. Patch __do_sys_capset with an escalation shellcode
│ (prepare_kernel_cred(0) + commit_creds + clear TIF_SECCOMP);
│ forked child calls capset() → uid 0 + full caps
│
└─ libksud.so (ReSukiSU) ── late-load mode
1. kernelsu.ko loaded from ksud's embedded assets with manual relocation
(does not rely on kernel symbol exports)
2. install → /data/adb/ksu (ksud/busybox/bootctl)
3. su channel online: /system/bin/su → kernel hook redirect → u:r:ksu:s0
4. setenforce 1 — Enforcing restored, policy rules already injected by the ko
Примечательные инженерные решения
insmod kernelsu.ko завершается ошибкой. Поздняя загрузка ReSukiSU разрешает символы самостоятельно и загружается без проблем.Соберите из исходников (см. Сборка) или скачайте APK со страницы GitHub Releases (в репозитории он не хранится).
Скачайте с ReSukiSU Releases и установите APK менеджера.
su -c 'sh /data/adb/modules/zygisksu/post-fs-data.sh'
Репозиторий содержит PoC (эксплойт) и его активатор в одно касание. Пользовательские слои устройства (скрипты дебloat, модуль privacy-hosts, инструментарий Xposed scope, вспомогательные средства для bring-up) хранятся вне дерева в отдельном приватном архиве — они намеренно не являются частью этого репозитория. Подробности: docs/ARCHITECTURE.md.