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

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

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

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

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

Категории

Все категории
Loading categories
PPPoEject — Linux kernel local privilege escalation PoC для CVE-2026-68121, объединяющий PPPoE, FUSE и IP6GRE для повреждения памяти ядра и получения root. | Kitploit
Инструменты/GitHubGitHub/manizada/pppoeject
Повышение привилегийКриминалистика памятиАнализ уязвимостейЭксплуатацияСтатьи и ИсследованияРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubmanizada/pppoeject

PPPoEject

Linux kernel local privilege escalation PoC для CVE-2026-68121, объединяющий PPPoE, FUSE и IP6GRE для повреждения памяти ядра и получения root.

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

Популярное

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

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

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

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

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

PPPoEject (CVE-2026-68121)

Разбор

[!WARNING] PoC предоставлен исключительно для того, чтобы помочь защитникам, мейнтейнерам и авторизованным командам безопасности проверить патчи, меры защиты, детектирование и подверженность на системах, которыми они владеют или которые им явно разрешено тестировать.

Вы несёте исключительную ответственность за то, чтобы использование этого материала было законным, авторизованным, контролируемым и проводилось в изолированной тестовой среде.

[!WARNING] Этот PoC деструктивен. Он намеренно повреждает живую память ядра. Ошибочная перезапись может повредить несвязанную память ядра и привести к зависанию/падению машины.

Запускайте только в одноразовой ВМ/временном хосте.

PoC:

  1. Компилирует встроенные вспомогательные компоненты и определяет рандомизированную базу текста ядра с помощью тайминг-сайд-канала на основе x86-64 prefetch/RDTSCP
  2. создаёт носитель AF_PACKET TX-ring, содержащий поддельные объекты struct file, и подготавливает заполненную fdtable под целевую аллокацию
  3. приостанавливает копирование полезной нагрузки PPPoE на странице FUSE, принадлежащей атакующему, затем добавляет IP6GRE к пустому team-устройству на Fedora или через цепочку bonding на Ubuntu
  4. заставляет dev_hard_header() перераспределить head skb, затем использует устаревший указатель на заголовок PPPoE, чтобы перенаправить запись fdtable на поддельный файл, и
  5. закрывает перенаправленный дескриптор, выполняет контролируемый callback, устанавливает root-учётные данные и открывает /bin/sh -p.

PoC рассчитан и нацелен на x86-64, чтобы всё было проще. Теоретически баг не должен быть архитектурно-специфичным, но вам придётся портировать многое (от утечки базы ядра до остальной цепочки).

Требования

Перечисляем исчерпывающе для полноты:

  • Как минимум 4 доступных CPU (важно для отправителя PPPoE, воркера освобождения/носителя fdtable, блокировщика FUSE и воркеров оркестратора триггера/освобождения, чтобы выполнять критичную по таймингу работу с меньшим вмешательством планировщика)
  • Fedora 44 с 6.19.10-300.fc44.x86_64 или Ubuntu 24.04 с 6.8.0-124-generic или 6.8.0-136-generic (можно попробовать убрать эти проверки, но другие дистрибутивы/версии ядра могут потребовать кастомизации/подготовки под конкретную цель)
  • Обычная непривилегированная учётная запись с записью в passwd и домашним каталогом, которым она владеет
  • Процессор Intel или AMD x86-64 с RDTSCP, неактивным KPTI/PTI и как минимум четырьмя логическими CPU в маске привязки процесса
  • Создание непривилегированных user/network namespace с CAP_NET_ADMIN и CAP_NET_RAW внутри этого namespace
  • Доступ на чтение/запись к /dev/fuse, а также поддержка FUSE, PPPoE, IP6GRE, AF_PACKET/TX-ring и team на Fedora или поддержка bonding на Ubuntu
  • Приватный expedited membarrier для выбранных low-order раскладок
  • Устройства Dummy и 802.1Q VLAN для выбранных high-order раскладок
  • Жёсткий лимит RLIMIT_NOFILE, достаточный для выбранной геометрии носителя, проверяется во время выполнения и потенциально может потребовать до 8 192 дескрипторов

Тестировалось только с 4 ГБ RAM и различным числом CPU от 4 и выше. Другие комбинации CPU/памяти могут потребовать больше подготовки и/или могут перенаправить запись в несвязанную память.

Запускайте от непривилегированного пользователя с записью в passwd. Конвертация для Ubuntu может занять некоторое время (например, 300+ попыток).

Использование

root@kitploit:~
python3 pppoeject_root_repro.py
Скачать инструмент
  • Разное в userspace (что в протестированных дистрибутивах из области охвата обычно есть по умолчанию): Python 3.10+, gcc с libc и заголовками разработки Linux UAPI, taskset, unshare, ip, true и /bin/sh, а также aa-exec и загруженный профиль trinity на Ubuntu, если прямой unshare -Urn запрещён