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

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

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

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

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

Категории

Все категории
Loading categories
ghostlock-cve-2026-43499-4.19-k40 — Android kernel LPE PoC для CVE-2026-43499 — use-after-free в rtmutex в ядрах Qualcomm 4.19, адаптированный для Redmi K40 с root-пейлоадом через LD_PRELOAD. | Kitploit
Инструменты/GitHubGitHub/ccp-p/ghostlock-cve-2026-43499-4.19-k40
Безопасность AndroidПовышение привилегийКриминалистика памятиАнализ уязвимостейЭксплуатацияПост-эксплуатацияМобильная безопасностьРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHubccp-p/ghostlock-cve-2026-43499-4.19-k40

ghostlock-cve-2026-43499-4.19-k40

Android kernel LPE PoC для CVE-2026-43499 — use-after-free в rtmutex в ядрах Qualcomm 4.19, адаптированный для Redmi K40 с root-пейлоадом через LD_PRELOAD.

Репозиторий
13 ч 7 мин назадЕщё не проверено

GhostLock — PoC для CVE-2026-43499 (ядро Qualcomm 4.19)

Локальное повышение привилегий с использованием CVE-2026-43499 — ошибки в rtmutex remove_waiter(), из-за которой struct rt_mutex_waiter остаётся висячим на стеке ядра ожидающего потока (kernel/locking/rtmutex.c, CWE-416 use-after-free). Адаптировано из NebuSec/CyberMeowfia (IonStack/CVE-2026-43499, Apache-2.0) для семейства вендорских ядер Qualcomm Android 4.19.x.

  • Ядро: 4.19.157-perf-g9607d8651312 (qcom, clang 10.0.7, SMP PREEMPT, aarch64)
  • Класс устройств: Snapdragon 870 (sm8250-ac) / платы класса Redmi K40, сборки эпохи Android 13 с boot header v3
  • Ошибка: откат proxy-lock в futex_requeue() вызывает remove_waiter(), который работает с current вместо waiter->task — удаление из rb-дерева без pi_lock, висячий pi_blocked_on, что приводит к UAF в стеке ядра. Затронуты вплоть до исправленных версий 5.10/5.15/6.1/6.6/6.12/6.18/7.0; для 4.19 бэкпорта нет (EOL), поэтому 4.19.157-perf уязвимо.

Что в репозитории

root@kitploit:~
src/                         адаптированные исходники эксплойта (preload.so)
src/targets/oplus-4.19.157-perf/target.h   таблица смещений для устройства (на основе kallsyms)
prebuilt/                    скомпилированные артефакты (aarch64)
adaptation-4.19.patch        полный diff относительно upstream-кода для Pixel (6.x)
Makefile, build.sh           точки входа сборки

Адаптации второго раунда для ядра 4.19 (относительно upstream 6.x)

  • configfs_read_file / configfs_write_bin_file размещены в слотах fops .read/.write (сигнатуры 4.19), а примитив чтения использует упрощённую раскладку фейкового буфера count/page/ppos=0
  • префикс имени ashmem (/dev/ashmem) в этом ядре отсутствует — длина префикса 0
  • геометрия kmalloc: в 4.19 три типа кэшей (NORMAL/RECLAIM/DMA, без кэшей per-memcg); устаревший массив буфера pipe из 16 слотов попадает в kmalloc-1024
  • selinux_blob_sizes в 4.19 не существует → прямой cred->security (SELINUX_CRED_BLOB_OFF=0); в struct seccomp нет filter_count
  • ASHMEM_MISC_FOPS = слот miscdevice.fops (ashmem_misc + 0x10)

Сборка

Linux / WSL с Android NDK:

root@kitploit:~
export NDK_ROOT=/path/to/android-ndk-r27c
./build.sh                      # or: make PROJECT=oplus-4.19.157-perf

Выходные файлы: prebuilt/preload.so (полезная нагрузка для LD_PRELOAD) и встроенный PIE su_daemon.

Использование через ADB (одноразовый root)

Требуется ADB shell (достаточно обычного непривилегированного adb shell — эксплойт полностью работает без привилегий и повышает их сам).

root@kitploit:~
# 1. push the payload
adb push prebuilt/preload.so /data/local/tmp/

# 2. run the exploit against any command (here: id) via LD_PRELOAD
adb shell LD_PRELOAD=/data/local/tmp/preload.so id

# expected on success: uid=0(root) gid=0(root) groups=...
# on failure the process exits 1 and the log below tells you where it stopped.

Необязательные однострочные варианты:

root@kitploit:~
# capture the exit status too
adb shell "LD_PRELOAD=/data/local/tmp/preload.so id; echo rc=\$?"

# interactive root shell (the exploit also installs an su daemon)
adb shell "LD_PRELOAD=/data/local/tmp/preload.so /system/bin/sh -c 'su -c id'"

Журнал отладки (переживает panic/reboot)

Каждая строка pr_* дублируется на диск с немедленным write()+fsync(), чтобы след пережил панику ядра/перезагрузку:

root@kitploit:~
/sdcard/Download/log_<timestamp>.txt

Резервные пути, если /sdcard недоступен: /sdcard/Downloads, /data/local/tmp/log_<timestamp>.txt.

root@kitploit:~
# after the run (even after a reboot):
adb shell "ls -t /sdcard/Download/log_*.txt | head -1"
adb shell "cat $(adb shell 'ls -t /sdcard/Download/log_*.txt | head -1' | tr -d '\r')"

Ключевые маркеры в журнале:

  • preload starting pid=... log=/sdcard/Download/log_<ts>.txt — полезная нагрузка загружена
  • slide-kaslr-ok ... base=... — база KASLR восстановлена
  • pipe-physrw-summary ... root=1 ... — физический RW установлен
  • uid_before=... uid_after=0 ... selinux=1->0 — учётные данные пропатчены
  • на 4.19 гаджет slide перед первой попыткой печатает UNVERIFIED — именно эту стадию нужно настраивать под устройство с помощью этого журнала.

Примечания и ограничения

  • Первая стадия (утечка slide KASLR) настраивается под каждое устройство; значения, которые не удалось вывести статически для 4.19, помечены в target.h и логируются как UNVERIFIED во время выполнения. Итерируйте на устройстве, используя fsync-журнал.
  • CONFIG_STATIC_USERMODEHELPER=y в этой сборке отключает трюки с путём modprobe; основной путь — прямое патчирование cred.
  • Проверьте корректность смещений на вашей конкретной сборке через собственные kallsyms ядра (/proc/kallsyms) и /proc/slabinfo перед развёртыванием.

Лицензия

Apache-2.0 (upstream: NebuSec/CyberMeowfia). Только для исследований в области безопасности и авторизованного рута устройств. Используйте на собственном оборудовании.

Скачать инструмент
  • смещения структур (task_struct / cred / pipe_inode_info / file_operations / mm_struct / struct page / configfs_buffer) были заново выведены из kallsyms этого ядра + встроенных ikheaders и проверены по собственной таблице RELA-релокаций ядра