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

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

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

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

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

Категории

Все категории
Loading categories
badepoll-selinux-disabler — Используйте CVE-2026-43074 для отключения SELinux на Android (Linux 6.6/6.12) | Kitploit
Инструменты/GitHubGitHub/perongh/badepoll-selinux-disabler
Безопасность AndroidПовышение привилегийФреймворки для эксплойтовЭксплуатацияRed TeamingРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubperongh/badepoll-selinux-disabler

Популярное

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

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

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

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

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

badepoll-selinux-disabler

Используйте CVE-2026-43074 для отключения SELinux на Android (Linux 6.6/6.12)

Репозиторий
62222 месяцев назадЕщё не проверено

badepoll-selinux-disabler

Автономное извлечение этапа отключения SELinux из эксплойта UAF для CVE-2026-43074 в eventpoll. Он гоняет проверку глубины цикла eventpoll (ep_get_upwards_depth_proc), чтобы записать ноль в selinux_state.enforcing, переводя устройство в режим Permissive с помощью одно-байтовой записи в ядро. Это только примитив для отключения MAC — повышения привилегий нет.

[!WARNING] Proof-of-concept эксплойта для ядра. Может привести к краху ядра, повреждению данных или неконсистентному состоянию устройства. Запускайте только на устройствах, которыми владеете или на тестирование которых уполномочены. Сделайте резервную копию.

Происхождение

Вырезано из полного PoC от NebuSec (дерево исходников). UAF находится в проверке глубины цикла eventpoll (ep_get_upwards_depth_proc), которая обходит epi->ep под RCU, в то время как ep_free() может освободить struct eventpoll из параллельного потока. Upstream исправил это, отложив освобождение до периода RCU grace (коммит 07712db8; NVD, OSV).

Это отличается от «Bad Epoll» (CVE-2026-46242), отдельного use-after-free в ep_remove() в том же коде eventpoll; данная гонка — это именно баг времени жизни проверки глубины цикла, исправленный коммитом 07712db8.

Затронутые ядра

Согласно CNA от kernel.org (через OSV/NVD), уязвимые стабильные ветки и их исправления:

  • 6.4.0 – <6.6.136 (исправлено на 6.6.136)
  • 6.7.0 – <6.12.83 (исправлено на 6.12.83)
  • 6.13.0 – <6.18.24 (исправлено на 6.18.24)
  • 6.19.0 – <6.19.14 (исправлено на 6.19.14)

Целевое ядро 6.6.118-android15-8 попадает в затронутый диапазон 6.6 (исправлено на 6.6.136). Вендорные ядра, которые перенесли исправление без обновления версии upstream, не уязвимы — проверяйте фактическое наличие патча, а не полагайтесь только на uname -r.

Цель

Привязано к одной конкретной сборке — байт enforcing достигается через жёстко заданный псевдоним KVA, и гонка зависит от slab-планировки этого ядра:

  • Устройство: Pixel 10 Pro / blazer
  • Ядро: 6.6.118-android15-8-g53e6e091166e-ab15266607-4k
  • Отпечаток: google/blazer/blazer:17/CP2A.260705.006/15641320:user/release-keys
  • Псевдоним: TARGET_SELINUX_ENFORCING_ALIAS = 0xffffff800236a2e0

Перенацеливание на другую сборку требует пересчёта псевдонима (смещение selinux_state в образе + база отображения + адрес загрузки) в src/target.h.

Сборка

Требуется Android NDK с тулчейном aarch64 clang. По умолчанию NDK_ROOT=/opt/android-ndk, API=35:

make            # → build/disabler

При необходимости можно переопределить:

make API=35 NDK_ROOT=/path/to/android-ndk

Запуск

Отправьте build/disabler на устройство и запустите от пользователя shell (uid 2000). SELinux изначально должен быть Enforcing; иначе бинарник пропускает выполнение. В случае успеха:

SELINUX_AFTER Permissive
RESULT PASS selinux_zero attempt=N

Проверьте с помощью getenforce → Permissive.

Область действия

Оригинальный эксплойт поверх этого примитива добавляет переадресацию flags в pipe-буфере (запись в стиле DirtyPipe в страницу page-cache, доступную только для чтения), которая патчит /system/bin/dumpstate для запуска root-демона. Эти этапы (pipe.c, patch.c, su.c, payloads.S и оркестрация оригинального main.c) здесь опущены, а late_refs.c сокращён до пути переадресации нулевого байта. Отключение одного лишь SELinux не даёт root — оно только снимает принудительное применение MAC, чтобы несущий полезную нагрузку мог работать без ограничений.

Скачать инструмент