Набор инструментов для use-after-free в Linux TCP (CVE-2026-98432): проверки патчей ядра, запуск race oracle, анализ UAF в pcap, восстановление смещения KASLR и усиление защиты nftables.

Только для этичного использования – авторизованное тестирование безопасности
Этот репозиторий предоставляет инструменты исключительно для авторизованных специалистов по безопасности, blue teams и пентестеров. Несанкционированный доступ к компьютерным системам является незаконным в соответствии с CFAA (США), Computer Misuse Act (Великобритания), TCK 243/244 (Турция) и аналогичными законами по всему миру.

CVE-2026-98432 — это use-after-free в стеке IPv4 TCP ядра Linux. Входящий SYN, содержащий опции IPv4, заставляет ядро сохранить копию этих опций в request socket. Если SYN будет повторно передан в нужный момент, один CPU может освободить эту копию, пока другой всё ещё читает её для формирования SYN-ACK, что приводит к use-after-free в ip_options_build().
Существует второй триггер, когда сервер переносит ожидающие запросы на соединение между сокетами (net.ipv4.tcp_migrate_req=1 или программа BPF_SK_REUSEPORT_SELECT_OR_MIGRATE). Оба триггера имеют одну и ту же первопричину: inet_sock_destruct() и tcp_v4_reqsk_destructor() освобождают опции с помощью обычного kfree() вместо ожидания льготного периода RCU.
tcp_v4_save_options() сохраняет входящие опции IPv4 (ireq_opt) в request socket.tcp_v4_syn_recv_sock() передаёт ireq_opt дочернему сокету без копирования.inet_sock_destruct() освобождает inet_opt с помощью обычного kfree().tcp_v4_send_synack() → ip_options_build(), который читает уже освобождённые опции.Исправление в upstream — коммит e3f33b0a1d89 ("ipv4: free inet_opt and ireq_opt after an RCU grace period"), который заменяет оба освобождения на kfree_rcu(). IPv6 основной проблемой не затронут.
5.15.0-xxx с номерами upstream. Проверяйте собственный трекер безопасности производителя.| Дата | Наблюдение | Источник |
|---|---|---|
| 2026-11-04 | В Ubuntu 22.04 LTS (и новее) исправление по-прежнему доступно только в -proposed; пользователи стандартного -updates остаются на уязвимом ядре, пока исправление не будет продвинуто. MPTCP включён по умолчанию в затронутых выпусках, хотя ошибка не связана с MPTCP. | Ubuntu CVE Tracker · Ubuntu Blog – Fixes in -proposed |
| 2026-11-02 | AWS подтверждает, что уязвимость затрагивает ядро Linux 4.4+ и что шаблоны Lightsail на базе Ubuntu входят в область действия; мера защиты — установить исправленное ядро или применить временное правило брандмауэра, отбрасывающее IPv4 TCP-пакеты с IP-опциями. | AWS Docs – Address CVE-2026-98432 on Lightsail |
| 2026-10-15 | Официальное объявление CVE для ядра: первопричина — отсутствие периода ожидания RCU перед kfree() для inet_opt / ireq_opt; исправлено в 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10, 7.3-rc7. | Linux CVE Announce – Openwall |
Примечание: Эти наблюдения подтверждают подверженность (уязвимое ядро + MPTCP по умолчанию в стандартной Ubuntu) и официальный статус исправления; они не являются подтверждением того, что эксплойт из этого репозитория успешно выполнился на каком-либо конкретном хосте.
| Инструмент | Назначение | Целевой пользователь |
|---|---|---|
cve_2026_98432 | Инструментарий для red team и blue team. Проверки исходного кода и патчей во время выполнения, сетевой зонд, race-оракул с обнаружением повторного использования маркеров, анализ pcap, восстановление смещения KASLR и рекомендации по мерам защиты. Единая команда с интерактивным меню или прямыми флагами. | Red team, blue team, авторизованные пентестеры |
--check | Локальная проверка версии ядра и дерева исходного кода. | Blue team, аудиторы |
--probe | Подтверждение доступности TCP-слушателя и того, что IPv4 SYN-опции достигают стека. | Red team, blue team |
--race | Race-оракул на основе маркеров. Отправляет сформированные SYN и проверяет SYN-ACK на повторное использование маркеров между потоками. | Red team (Prob) |
--pcap | Офлайн-анализ pcap. Обнаруживает признаки UAF и кандидаты в указатели ядра. | Blue team (Partial) |
--map | Восстановление смещения KASLR по утёкшим текстовым указателям с использованием System.map. | Red team (Partial) |
--harden | Применение или предварительный просмотр мер защиты (отключение MPTCP, отключение миграции, отбрасывание IP-опций). | Blue team (Prob) |
| Метка | Значение |
|---|---|
| (без метки) | Детерминированно. Одинаковый вход — одинаковый выход. |
| (Prob) | Результаты гонки могут различаться между запусками. Инструмент повторяет попытки в течение ограниченного времени. |
| (Partial) | Зависит от корректного ввода. Инструмент работает при наличии валидного pcap или соответствующего System.map. |