Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
asus-i005-cve-2026-43499 — CVE-2026-43499 (GhostLock) — адаптация для ASUS ROG Phone 5S: триггер UAF + восстановление стека pselect, утечка KASLR заблокирована | Kitploit
Инструменты/GitHubGitHub/huaguiqi/asus-i005-cve-2026-43499
Безопасность AndroidПовышение привилегийКриминалистика памятиАнализ уязвимостейЭксплуатацияОбратная инженерияМобильная безопасностьСтатьи и ИсследованияРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHub
11431 месяц назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
huaguiqi/asus-i005-cve-2026-43499

asus-i005-cve-2026-43499

CVE-2026-43499 (GhostLock) — адаптация для ASUS ROG Phone 5S: триггер UAF + восстановление стека pselect, утечка KASLR заблокирована

Репозиторий

asus-i005-cve-2026-43499

Исследование адаптации CVE-2026-43499 (GhostLock) на ASUS ROG Phone 5S (ASUS_I005).

Вывод: срабатывание уязвимости и возврат стека полностью подтверждены; цепочка повышения привилегий не завершена из-за недостаточной глубины перезаписи стека.

Конкретно:

  • Stage 0~1.6 полностью подтверждены (срабатывание, возврат стека, утечка адреса стека)
  • Примитив записи Stage 2 требует перезаписи waiter+0x28..0x40 (pi_tree_entry.rb_left и lock)
  • pselect nfds=320 перезаписывает только до waiter+0x27
  • Не найден носитель возврата стека с более глубокой перезаписью (исчерпано 40+ кандидатных syscall)
  • Все источники утечки KASLR на i005 также заблокированы

Подробный анализ см. в docs/05-limitations.md.

TL;DR

ЭтапСодержаниеСтатус
0Срабатывание UAF (3 потока + CMP_REQUEUE_PI)✅
1Восстановление стека при pselect timeout=0 (shift=10)✅
1.6Утечка SP стека ядра W (perf PERF_SAMPLE_REGS_INTR)✅
2Запись по произвольному адресу (требуется KASLR slide)❌
—Утечка KASLR (все 8 источников не сработали)❌

Целевое устройство

ПараметрЗначение
УстройствоASUS ROG Phone 5S (ASUS_I005)
SoCSnapdragon 888 (SM8350)
Android13
Ядро5.4.210-qgki-perf-gc89cd02a7dfe arm64
SELinuxEnforcing (u:r🐚s0)
CapEff0

Обзор уязвимости

CVE-2026-43499 (GhostLock) — это UAF в стеке подсистемы rtmutex ядра Linux. remove_waiter() в пути отката прокси-блокировки использует current вместо waiter->task, что приводит к тому, что в task_struct->pi_blocked_on остаётся висячий указатель.

Ключевые результаты

1. Возврат стека pselect timeout=0 (оригинально)

  • pselect timeout>0 → do_select → schedule → обход висячего pi_blocked_on → взаимоблокировка
  • при timeout=0 end_time=NULL, do_select немедленно возвращается, но _copy_from_user всё равно выполняется
  • nfds=320 → одна копия 40 байт → core_sys_select использует stack_fds в стеке
  • начало ex fd_set точно совпадает с началом waiter → PSELECT_WAITER_WORD_SHIFT = 10

2. Утечка адреса стека ядра W

  • perf_event_open(pid=W_tid) + PERF_SAMPLE_REGS_INTR(SP)
  • фильтрация стека IRQ → все 41 образец настоящего стека W совпадают
  • выравнивание 16KB → sp_top → fake_waiter = sp_top - 0x1b0

3. Блокирующая поверхность — усиленная конфигурация i005 противостоит всем утечкам KASLR

См. docs/05-limitations.md:

  • kptr_restrict=2
  • perf-оборудование на arm64 записывает PC точки входа вектора EL0→EL1 (overflow delayed)
  • perf_event_open(system-wide/kworker) EACCES
  • bpf() EACCES
  • /proc/{kallsyms,timer_list,self/stack} EACCES
  • /sys/module/*/sections EACCES

Структура каталогов

  • docs/ аналитические документы и хронология
    • 06-research-snapshot.md полный снимок исследования
    • 07-iteration-log.md журнал неудачных версий
    • disasm/ ключевые фрагменты дизассемблирования
    • recon/ результаты разведки
  • include/ таблица символов + смещения структур
  • src/ исходный код PoC (подробнее см. src/README.md)
  • scripts/ аналитические скрипты
  • logs/ журналы выполнения (не в git)

Воспроизведение

# 1. Извлечение символов и смещений (требуется vmlinux, собранный из официальных исходников ядра ASUS)
./scripts/extract_symbols.sh
./scripts/gen_symbols_h.sh
./scripts/extract_offsets.sh

# 2. Компиляция Stage 0
aarch64-linux-gnu-gcc -static -O2 -pthread \
  -o ~/tmp/work/bin/poc_stage0_trigger src/poc_stage0_trigger.c

# 3. Запуск на устройстве (требуется adb shell на целевое устройство)
adb shell /data/local/tmp/poc_stage0_trigger
Инструментарий: aarch64-linux-gnu-gcc -static -O2 -pthread

Ссылки

· gitchw/ghostlock-cve-2026-43499        Huawei Watch 4 Pro, 5.4.210 (ARM32)
· ccp-p/ghostlock-cve-2026-43499-4.19-k40  Redmi K40, 4.19.157 (aarch64)
· JoinChang/ghostlock-oneplus              несколько устройств OnePlus, осуществимость компоновки стека
· knowlily/cve-2026-43499-honor            анализ неудачи на Honor

Отказ от ответственности

Только для исследований в области безопасности. Не использовать на неавторизованных устройствах.
Скачать инструмент