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

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

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

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

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

Категории

Все категории
Loading categories
cve-2026-98432 — Скрипт оболочки, который оценивает состояние патча ядра Ubuntu для CVE-2026-98432 и применяет постоянную временную меру через nftables или iptables, отбрасывающую IPv4 TCP-пакеты с IP-опциями. | Kitploit
Инструменты/GitHubGitHub/ndeet/cve-2026-98432
Оборонительные ИнструментыАнализ уязвимостейАудит конфигурацииСетевая безопасностьНеправильная КонфигурацияРеагирование на Инциденты
GitHubndeet/cve-2026-98432

cve-2026-98432

Скрипт оболочки, который оценивает состояние патча ядра Ubuntu для CVE-2026-98432 и применяет постоянную временную меру через nftables или iptables, отбрасывающую IPv4 TCP-пакеты с IP-опциями.

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

Популярное

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

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

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

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

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

Устранение CVE-2026-98432 для Ubuntu 16.04, 22.04, 24.04 и 26.04

Быстрый старт

# 1. Inspect the host; no changes.
sudo ./cve-2026-98432-mitigate.sh check

# 2. Get a patch-state verdict for the exact running kernel package.
sudo ./cve-2026-98432-mitigate.sh assess

# 3. Apply the stopgap filter and make it survive reboot.
sudo ./cve-2026-98432-mitigate.sh enable

# 4. Prove that normal TCP still works and IP-option TCP is dropped.
sudo ./cve-2026-98432-mitigate.sh verify

# 5. Monitor. Exit 0 = healthy, 1 = mismatch/persistence failure, 2 = no state.
sudo ./cve-2026-98432-mitigate.sh status

# 6. After booting a kernel that Ubuntu marks as fixed.
sudo ./cve-2026-98432-mitigate.sh disable

enable отказывается изменять набор правил при обнаружении CIPSO/NetLabel, поскольку правило отбрасывает весь TCP, несущий IP-опции, включая помеченный трафик. Используйте --ignore-cipso, только если вы принимаете этот компромисс. Контейнеры или хосты без systemd должны использовать --no-persist; в противном случае enable завершается с кодом 4, когда невозможно обеспечить сохранение после перезагрузки, при этом активное правило остаётся на месте.

Что он делает и зачем

CVE-2026-98432 — это use-after-free в рукопожатии IPv4 TCP в Linux. Он достижим, когда входящий SYN несёт IP-опции. Настоящее исправление — это пропатченное ядро; этот скрипт является временной мерой, которая отбрасывает входящие пакеты IPv4 TCP, длина IP-заголовка которых больше 5 (IHL 6-15), то есть пакеты, несущие IP-опции, до conntrack и Docker NAT.

Он поддерживает два эквивалентных бэкенда:

  • nftables: table ip cve_2026_98432, prerouting priority -310, только TCP, counter, drop.
  • iptables: raw PREROUTING, u32 match 0>>24&0xf=6:15, только TCP, counter, drop.

Форма nft использует семейство ip и числовой приоритет, поэтому она работает как на nft 0.5 в Ubuntu 16.04, так и на текущем nft 1.x. Форма iptables работает с iptables 1.6 и более поздними. Никакие пакеты не устанавливаются, если не передан --install-nft.

Скрипт проверяет полное ожидаемое правило, а не фрагменты. Для nft он требует, чтобы цепочка pre несла хук prerouting ровно с приоритетом -310 (или устаревшим написанием raw - 10), а ожидаемый DROP был первым правилом. Для iptables он требует успешного выполнения iptables -C и совпадения полного первого правила raw PREROUTING после нормализации. enable исправляет смещённое правило вместо отказа от повторного применения.

Использованные источники

  • Ubuntu security tracker: https://ubuntu.com/security/CVE-2026-98432
  • BTCPay Server Docker PR #1224: https://github.com/btcpayserver/btcpayserver-docker/pull/1224
  • rockstardev gist: https://gist.github.com/rockstardev/06f8ec3225cb30725444fd6c57d57f24
  • Akamai validation/mitigation script: https://github.com/akamai/cve-2026-98432-validation-mitigation

Скрипт Akamai дал идеи оценки и безопасности, приведённые ниже. Его форма принудительного применения не была принята, поскольку наша строже и совместима с 16.04. Наиболее важные включённые находки в порядке приоритета:

  1. Оценка состояния патча с доказательствами по точному пакету. assess определяет точный пакет образа работающего ядра (linux-image-$KVER, затем linux-image-unsigned-$KVER, затем владельца /boot/vmlinuz-$KVER). Метапакеты, такие как linux-image-generic, показываются только как контекст и никогда не используются как доказательство для вердикта. Совпадение в changelog — сильное, но подверженное ошибкам доказательство; отсутствующий changelog плюс независимо убедительная чистая upstream-версия на уровне исправленного релиза или выше всё равно даёт PATCHED; ядро вендора без доказательств даёт UNKNOWN.
  2. Правдивые результаты сохранения. Неудачная самоустановка, неудачная запись/включение/запуск unit или хост без systemd приводят к завершению enable с кодом 4 при сохранении правила активным. status оценивает сохранение независимо от runtime-состояния oneshot и отвергает enabled-runtime как непостоянное.
  3. Безопасность CIPSO/NetLabel. Обнаружение трёхзначно: detected отказывает по умолчанию, unknown предупреждает, not_detected продолжает. Отсутствие netlabelctl не доказывает отсутствие CIPSO.
  4. Определённый контракт пригодного бэкенда. check различает проверенно-пригодный, присутствующий-непроверенный, непригодный и неизвестный; --backend nft оценивает nft, даже когда iptables работает.
  5. Сигналы покрытия с неопределённостью. Интерфейсы Cilium, ссылки macvlan/ipvlan и программы XDP сообщаются как потенциальные обходы или неизвестные, а не как окончательные пробелы. Режим маршрутизации Cilium имеет значение, и XDP_PASS всё равно попадает в стек ядра.
  6. Точные счётчики и очистка устаревших правил. Счётчики используют точный (-x) вывод, где это возможно, а устаревшее правило filter/INPUT из более ранней версии сообщается и удаляется после загрузки замены raw.

Обновление существующей установки

Сопоставление правил и формат файла состояния обратно совместимы. Вам не нужно сначала выполнять disable; повторный запуск enable с этой версией исправляет правило на месте, устанавливает обновлённый загрузочный юнит и записывает новое поле персистентности. Если в старом файле состояния нет строки persist=, status определяет персистентность по состоянию юнита, а не завершается ошибкой из-за отсутствующего поля.

Операционные изменения, о которых следует знать:

  • enable теперь завершается с кодом 4, когда правило активно, но сохранение после перезагрузки не удалось. Ранее в этом случае он мог завершиться с кодом 0.
  • check теперь возвращает 0 только для проверенного работоспособного бэкенда, 1 — если работоспособного бэкенда нет, 4 — если бэкенд присутствует, но не проверен, и 2 — при ошибке использования.
  • assess — новая команда, возвращает 0/1/3/4, как описано ниже.
  • Хост с обнаруженным CIPSO теперь отказывается выполнять enable, если не передан --ignore-cipso.
  • Если вы ранее устанавливали юнит, повторно запустите enable, чтобы применились новый порядок юнитов и ExecStart.

Подготовлено: 2026-10-30 (обновлено 2026-10-31) Трекер Ubuntu проверен: 2026-10-31 11:59 UTC (страница последний раз обновлялась 2026-10-30). Исправленное ядро пока не выпущено. Область применения: серверы Linux, в первую очередь Ubuntu 16.04 (xenial), 22.04 (jammy), 24.04 (noble) и 26.04 (resolute), включая хосты Docker/BTCPay. Результат: cve-2026-98432-mitigate.sh в этом каталоге. Протестировано на: Ubuntu 16.04, 22.04, 24.04 и 26.04.


1. Главное

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