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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-43499-armv7 — Эксплойт для повышения привилегий в ядре Linux ARM32 для CVE-2026-43499 (GhostLock futex UAF), нацеленный на Huawei Watch 4 Pro, с множеством вариантов эксплуатации и подробным анализом обхода защиты. | Kitploit
Инструменты/GitHubGitHub/tc3650/cve-2026-43499-armv7
Безопасность встроенных системПовышение привилегийАнализ уязвимостейЭксплуатацияАппаратная БезопасностьРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubtc3650/cve-2026-43499-armv7

CVE-2026-43499-armv7

Эксплойт для повышения привилегий в ядре Linux ARM32 для CVE-2026-43499 (GhostLock futex UAF), нацеленный на Huawei Watch 4 Pro, с множеством вариантов эксплуатации и подробным анализом обхода защиты.

Репозиторий
8326 дней назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

CVE-2026-43499 GhostLock — ARM32 Huawei Watch 4 Pro

Попытка эксплуатации уязвимости повышения привилегий ядра Linux на основе CVE-2026-43499 (GhostLock) — Huawei Watch 4 Pro (MDS-AL00, armv7l)

Kernel: 5.4.161 Device: Huawei Watch 4 Pro Arch: ARM32 v7 Status: Blocked

Обзор проекта

Данный проект представляет собой попытку эксплуатации уязвимости ядра GhostLock на устройстве Huawei Watch 4 Pro (MDS-AL00, Snapdragon SW5100, HarmonyOS 4.3.0 AOSP 12) с адаптацией под архитектуру ARM 32-bit (armv7l).

GhostLock (CVE-2026-43499) — это уязвимость futex PI UAF ядра Linux, затрагивающая версии с 2.6.39 по 7.x. Цель данного проекта — реализовать полную цепочку повышения привилегий на часах Huawei.

Исходный репозиторий: MobiusM/CVE-2026-43499 (PoC для arm64)


Информация об устройстве


Текущее состояние проекта


Основные препятствия

1. Второй rb_erase не срабатывает (самая фундаментальная проблема)

На ядре 5.4.161 ARM32 после того, как FUTEX_CMP_REQUEUE_PI вызывает EDEADLK, обход цепочки PI не выполняет второй rb_erase. Цепочка эксплуатации GhostLock 64, основанная на UAF → запись в страницу UAF через второй rb_erase, полностью не работает на этом ядре.

Все варианты разброса 8-iov writev не удались: sc[0] after = e3a0002a (страница шелл-кода не была записана).

2. iovstack не выровнен с rt_mutex_waiter

Разброс 8-iov writev в ghostlock64 полагается на перекрытие массива iovstack[8] в стеке ядра со структурой rt_mutex_waiter. На этом ядре:

  • Протестировано 11 различных смещений × левый/правый дочерний элемент = 22 варианта
  • Ни один не смог успешно перезаписать clear_refs_operations.write
  • Возможная причина: раскладка стека (размер фрейма, расположение локальных переменных) в этом ядре отличается от предположений ghostlock64

3. Обход цепочки PI через sched_setattr оперирует данными владельца

sched_setattr может успешно инициировать обход цепочки PI (проверено success=1600+), но rb_erase оперирует pi_tree_entry потока-владельца (находящегося в task_struct в куче kmalloc), а не данными стека потока-ожидающего (данные fd_set writev).

Следовательно, путь pselect + sched_setattr также не может быть использован для управления записываемым значением.

4. Дополнительные ограничения ядра Huawei

  • mmap(0, ..., MAP_FIXED, ...) возвращает -EINVAL, а не стандартный -EACCES
  • CONFIG_SECURITY_SELINUX_DEVELOP=n → поле selinux_state.enforcing отсутствует
  • mremap → ENOSYS

Попытки обхода


Ключевые адреса (System.map из MDS-AL00)

root@kitploit:~
commit_creds:           0xC0140390
prepare_kernel_cred:    0xC014059C
proc_clear_refs_ops:    0xC0CAF280  (.write @ +12 = 0xC0CAF28C)
mmap_min_addr:          0xC12E8568
dac_mmap_min_addr:      0xC123C734
selinux_hooks[mmap]:    0xC0F64E1C

Внешние ссылки (ARM64, напрямую не применимы)

РепозиторийУстройствоЯдроАрхитектура
x-spy/CVE-2026-43499-popsicle

Оба репозитория используют pselect() + sched_setattr для запуска цепочки PI и прямую запись в physmap, полагаясь на механизм direct map в ARM64. В ARM32 direct map отсутствует, и поведение цепочки PI в этом ядре отличается.


Структура файлов репозитория

root@kitploit:~
CVE-2026-43499-armv7/
├── config/
│   └── kernel.config       # .config ядра устройства (5.4.161-perf)
├── scripts/
│   ├── ghostlock_all.sh    # Скрипт пакетного тестирования
│   └── ghostlock_check.sh  # Проверочный скрипт
├── src/
│   ├── ghostlock64.c       # Исходный PoC двойного erase 8-iov (базовый каркас)
│   ├── ghostlock5-33.c     # Ранние итерации (ghostlock5 ~ ghostlock33)
│   ├── ghostlock63.c       # Вариант ghostlock 6.x 3-iov
│   ├── g62_*.c             # Варианты 3-iov (разные целевые адреса)
│   ├── g62_8e.c            # Точный разброс 8-iov (финальная версия)
│   ├── g62_scan.c          # Сканирование смещений iov
│   ├── g62_self.c          # Тест самозапуска EDEADLK от ожидающего
│   ├── g62_pispray.c       # EDEADLK + slab spray + sched_setattr
│   ├── g62_rand.c          # Тест записи randomize_va_space
│   ├── gsu_v19.c           # Триггер 8-iov + sched_setattr
│   ├── gl_pselect*.c       # Тесты pselect + sched_setattr
│   ├── gl_scan.c           # Сканирование смещений fd_set
│   ├── sc64.c              # Шелл-код
│   ├── trigger*.c          # Исходный триггер PoC (проверка наличия уязвимости)
│   ├── ghostlock_root.c    # Ранняя попытка получения root
│   └── test_*.c            # Тесты компиляции/запуска
├── README.md
├── ghostlock64             # Бинарник PoC двойного erase 8-iov
├── ghostlock63             # Бинарник ghostlock 6.x 3-iov
├── g62_*                   # Бинарники вариантов 3-iov
├── gl_*                    # Бинарники тестов pselect
├── gsu                     # Вариант с перехватом sc-page
├── sc64                    # Шелл-код
├── trigger*                # Бинарники исходного триггера PoC
└── test_*                  # Тестовые бинарники

Заключение

Реализация цепочки PI в этой версии ядра (5.4.161 ARM32) не поддерживает технику двойного rb_erase для произвольной записи GhostLock. Все известные пути эксплуатации CVE-2026-43499 заблокированы на данном устройстве. Требуется обнаружение нового примитива записи нуля или другой уязвимости для продолжения.

От автора

Huawei, ты меня подставил, сжёг мои 30 юаней токенов DeepSeek V4 Pro.

Скачать инструмент
ПараметрЗначение
УстройствоHuawei Watch 4 Pro (MDS-AL00)
Ядро5.4.161-perf (ARM32 armv7l)
СистемаHarmonyOS 4.3.0 (AOSP 12)
CPUSnapdragon SW5100
SELinuxEnforcing (CONFIG_SECURITY_SELINUX_DEVELOP=n)
KASLRОтключён
MMUCONFIG_STRICT_KERNEL_RWX=y
СтекNX (стек ядра неисполняемый)
mmap(0)Дополнительная блокировка Huawei (-EINVAL, нестандартный -EACCES)
ЭтапСтатусОписание
Триггер GhostLock FUTEX PI✅ Проверено успешноFUTEX_CMP_REQUEUE_PI возвращает EDEADLK (-35)
Обход цепочки PI✅ Проверено успешноsched_setattr инициирует обход цепочки PI
Второй rb_erase❌ Основное препятствиеРеализация цепочки PI в этом ядре не выполняет второй rb_erase
Выравнивание iovstack❌ ЗаблокированоРазброс 8-iov writev не перекрывается с rt_mutex_waiter
Обход mmap(0)❌ ЗаблокированоДополнительная проверка ядра Huawei (-EINVAL)
Перехват fops❌ ЗаблокированоНет контролируемого примитива произвольной записи
Перезапись cred❌ ЗаблокированоОграничено указанными выше препятствиями
Повышение привилегий выполнено❌Не реализовано
ПутьРезультатПричина
ghostlock64 8-iov writev → FLPI❌Второй rb_erase не срабатывает
ghostlock64 + sched_setattr❌То же самое, цепочка PI не доходит до страницы UAF
g62 3-iov❌Запись возможна, но значение — адрес стека, стек NX не исполняем
pselect + sched_setattr❌rb_erase оперирует данными кучи владельца
Повторный FLPI от ожидающего❌Быстрый путь EDEADLK, не читает стек
Сканирование смещений iov (22 варианта)❌Ни один не перекрывается
Обход mm(0) / mremap❌-EINVAL / ENOSYS
Обнуление хуков selinux❌Поле enforcing отсутствует
Xiaomi 17 Pro Max
6.12.23
ARM64
pubglite55/oppo-ghostlockOPPO Find N25.10.236ARM64