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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-68398 — CVE-2026-68398 Ubuntu PPPoL2TP use-after-free локальное повышение привилегий | Kitploit
Инструменты/GitHubGitHub/aramosf/cve-2026-68398
Повышение привилегийЭксплуатацияЭксплуатация Бинарных Файлов
GitHubaramosf/cve-2026-68398

CVE-2026-68398

CVE-2026-68398 Ubuntu PPPoL2TP use-after-free локальное повышение привилегий

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

Популярное

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

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

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

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

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

CVE-2026-68398: использование после освобождения в Ubuntu PPPoL2TP с повышением привилегий до локального root

Живой эксплойт CVE-2026-68398

Этот репозиторий содержит эксплойт локального повышения привилегий, привязанный к конкретной сборке, для CVE-2026-68398 — гонки вида «использование после освобождения» (use-after-free) между обработкой приёма PPPoL2TP и уничтожением неприсоединённого PPP-канала. Он был проверен в QEMU на официальном пакете Ubuntu 22.04 linux-image-5.15.0-187-generic (5.15.0-187.197).

Финальный тест запускается от выделенного пользователя с UID 1001, без дополнительных групп, без capabilities и без доступа к sudo, после чего получает UID 0 в начальном пространстве имён. KASLR, SMEP, SMAP и AppArmor остаются включёнными. Гостевая система не загружается с параметрами nokaslr, nopti, nosmep или nosmap.

Предупреждение

Этот код намеренно повреждает состояние кучи ядра и привязан к одной конкретной сборке ядра Ubuntu. Неудачная гонка может вызвать панику или повредить систему. Запускайте его только в изолированной, одноразовой виртуальной машине, которой вы владеете.

Уязвимость

pppol2tp_recv() выполняется на пути приёма UDP-пакетов L2TP внутри критической секции чтения RCU и в конечном итоге вызывает ppp_input(&po->chan). Сокет PPPoX и встроенный в него ppp_channel безопасны с точки зрения RCU, однако внутренняя struct channel, используемая ppp_input(), представляет собой отдельное выделение памяти.

Для канала, связанного через PPPIOCGCHAN, но не присоединённого к PPP-устройству и не задействованного в мостовом режиме, путь закрытия немедленно освобождал этот внутренний объект:

RX:    l2tp_udp_encap_recv -> pppol2tp_recv -> ppp_input(channel)
CLOSE: pppol2tp_release -> pppox_unbind_sock
       -> ppp_unregister_channel -> ppp_release_channel -> kfree(channel)

Таким образом, путь приёма может работать с очередью skb и очередью ожидания освобождённого канала. Исправление добавляет колбэк RCU в struct channel и откладывает очистку очереди и освобождение памяти до истечения периода ожидания RCU (RCU grace period).

Уязвимость обнаружил и исправил в основной ветке ядра Норберт Сетеи из Doyensec. Исправление в основной ветке — ec4215683e47424c9c4762fd3c60f552a3119142.

Затронутые и исправленные версии

Согласно записи Linux CNA, уязвимая линия начинается с Linux 4.15. Вендорные ядра могут содержать это исправление под другим номером версии, поэтому точный исходный код или журнал изменений пакета имеют приоритет над этой таблицей.

Линия ядраПервый исправленный выпускКоммит исправления
6.6.y6.6.1484bb84e964ff0
6.12.y6.12.1013ab32218d718
6.18.y6.18.42c9574b8a8ede
7.1.y7.1.606213c85d8c0
Mainline7.2-rc4ec4215683e47

Для более старых поддерживаемых вендорных линий требуется бэкпорт. По состоянию на 2026-08-12 трекер CVE Ubuntu помечает пакет linux для Jammy как needs-triage; исправленный пакет Ubuntu Jammy не обнаружен. Исходный код проверенной версии 5.15.0-187.197 по-прежнему напрямую вызывает kfree(pch) и уязвим.

Проверенная целевая система

СвойствоЗначение
ДистрибутивUbuntu 22.04.5 LTS (Jammy)
Пакет ядраlinux-image-5.15.0-187-generic / 5.15.0-187.197
Релиз ядра5.15.0-187-generic #197-Ubuntu
Архитектураx86-64
ВМQEMU/KVM, -cpu host, четыре vCPU, 5 ГиБ ОЗУ
Исходная идентичностьuid=1001(poc) gid=1001(poc) groups=1001(poc)
Исходные capabilitiesinheritable, permitted, effective и ambient — все нулевые
Финальная идентичностьuid=0(root) gid=0(root) в начальных пространствах имён
Изменения загрузкиНет; стандартная командная строка, KASLR включён

Ядро не перекомпилировалось. В минимальном облачном образе отсутствовал linux-modules-extra-5.15.0-187-generic, поэтому для предоставления l2tp_ppp был установлен этот официальный пакет Ubuntu. Обычная установка Jammy с использованием метапакета linux-generic уже зависит от соответствующего пакета modules-extra. Модуль протокола автоматически загружается, когда эксплойт создаёт свой PPPoL2TP-сокет.

Требования и состояние Ubuntu по умолчанию

ТребованиеСостояние в Ubuntu 5.15.0-187Использование эксплойтом
PPPCONFIG_PPP=yВстроен
L2TP / PPPoL2TPCONFIG_L2TP=m, CONFIG_PPPOL2TP=mОфициальный модуль linux-modules-extra
Ключи пользователяCONFIG_KEYS=yПовторно занимает освобождённый канал kmalloc-256
AppArmorCONFIG_SECURITY_APPARMOR=yОстаётся активным; поддельные учётные данные включают допустимую метку unconfined
KASLRCONFIG_RANDOMIZE_BASE=yОстаётся активным; сдвиг восстанавливается во время выполнения
SMAPCONFIG_X86_SMAP=yОстаётся активным
Пространства имён пользователя/сетейВключены Ubuntu, но не используютсяНе требуется настройка пространств имён или получение capabilities
/dev/pppНе требуетсяКанал связан, но никогда не подключается к PPP-устройству

Автоматический детектор KASLR использует побочный канал по времени выполнения инструкции prefetch в x86 и требует RDTSCP при неактивном KPTI. Проверенный процессор хоста поддерживает rdtscp, smep и smap и не подвержен Meltdown, поэтому Ubuntu оставляет KPTI неактивным без каких-либо изменений параметров загрузки. На процессоре, где /proc/cpuinfo сообщает флаг pti, детектор отказывается запускаться. Это аппаратное условие, специфичное для эксплойта: базовый CVE остаётся достижимым, но этот выпуск не заявляет об обходе KASLR в системе с активным KPTI. Сдвиг, задаваемый вручную, существует только для контролируемой диагностики.

Процесс эксплуатации

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