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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/antonyantony/cve-2026-98432-nft
Оборонительные ИнструментыАнализ уязвимостейСетевая безопасностьНеправильная КонфигурацияРеагирование на ИнцидентыАнализ Журналов
GitHubantonyantony/cve-2026-98432-nft

cve-2026-98432-nft

Правила nftables для входящего трафика, отбрасывающие IPv4 TCP SYN-пакеты с IP-опциями для смягчения use-after-free в CVE-2026-98432, со счётчиками по источникам и журналированием.

Популярное

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

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

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

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

Смотреть все инструменты →
Репозиторий
4 дней назадЕщё не проверено
Поделиться

CVE-2026-98432 nftable dorp

Смягчение для CVE-2026-98432 средствами nftables: отбрасывать IPv4 TCP SYN, несущие IP-опции, настолько рано, насколько это возможно в nftables.

CVE представляет собой use-after-free в пути request-socket для IPv4 TCP (ireq->ireq_opt / inet_opt, читается в ip_options_build()). Правильное исправление — обновление ядра; это лишь снижает подверженность до его установки.

ireq->ireq_opt устанавливается в одном месте, tcp_v4_init_req(), из опций SYN, открывающего request socket; конкурирующий повторно переданный SYN лишь читает то, что было сохранено там, а сценарий CVE предполагает, что атакующий отправляет SYN с опциями Record Route или Timestamp. Таким образом, SYN с опциями — это тот пакет, который имеет значение. Миграция request socket повторно использует тот же сохранённый ireq_opt. Это опирается на исходный код ядра и текст CVE, а не на заявление авторов CVE о том, что достаточно только SYN; удалите сопоставление tcp flags & (syn | ack) == syn из правил для консервативного варианта.

Простой вариант

Задайте IFACES как сетевые интерфейсы, принимающие внешний трафик, затем выполните sudo nft -f simple.nft. Набор правил:

define IFACES = { eth0 }
table netdev cve_2026_98432 {
  chain ingress {
    type filter hook ingress devices = $IFACES priority -500; policy accept;
    ip protocol tcp ip hdrlength > 5 tcp flags & (syn | ack) == syn limit rate 5/second burst 10 packets log prefix "CVE-2026-98432 drop: " level warn
    ip protocol tcp ip hdrlength > 5 tcp flags & (syn | ack) == syn counter drop
  }
}
  • netdev ingress с приоритетом -500 — это первый хук netfilter, раньше prerouting, conntrack и маршрутизации. XDP по-прежнему выполняется перед ним.
  • ip hdrlength > 5 — это IHL IPv4 в 32-битных словах; значение выше 5 означает наличие опций.
  • tcp flags & (syn | ack) == syn — это SYN без ACK.
  • Первое правило пишет в журнал ядра (с ограничением скорости, чтобы флуд не мог его заполнить); ограничение управляет только записью в журнал, но никогда не отбрасыванием.
  • counter в правиле отбрасывания — это итоговый счётчик.

Наблюдение: sudo nft list chain netdev cve_2026_98432 ingress и journalctl -k -g 'CVE-2026-98432'.

Более детальные счётчики: fancy.nft

fancy.nft — это то же отбрасывание плюс именованный общий счётчик и счётчики по адресам, хранящиеся в двух динамических наборах. Он также подсчитывает и регистрирует в журнале каждый другой TCP-пакет с IP-опциями (пропущенный, а не отброшенный), с байтами опций в строке журнала (flags ip options, префикс CVE-2026-98432 ip-options: ):

СчётчикГдеЧто показывает
totalименованный счётчик dropped_totalSYN с IP-опциями, отброшенные
otherименованный счётчик options_otherдругие TCP с IP-опциями, пропущенные
по исходному IPнабор by_srcпакеты и байты по каждому отброшенному исходному адресу
по источнику . назначениюнабор by_pairто же по каждой паре (источник, назначение)
любой IP с опцияминабор options_by_srcпакеты и байты по каждому исходному адресу для каждого IPv4-пакета с опциями, любого протокола (TCP, UDP, ICMP...), включая отброшенные SYN
sudo nft -f fancy.nft
sudo ./cve-log.sh        # counters, then follow the kernel log
sudo ./cve-log.sh -c     # counters only
sudo ./cve-log.sh -r     # reset the total and the per-IP sets

Или напрямую:

sudo nft list counter netdev cve_2026_98432 dropped_total
sudo nft list counter netdev cve_2026_98432 options_other
sudo nft list set netdev cve_2026_98432 by_src
sudo nft list set netdev cve_2026_98432 by_pair
sudo nft list set netdev cve_2026_98432 options_by_src

У каждого элемента свой счётчик пакетов и байтов, и он истекает через 1 ч после последнего попадания. Каждый набор содержит не более 65535 записей; когда набор заполнен, новые адреса не отслеживаются, но пакет всё равно отбрасывается. Исходные адреса могут быть подделаны, поэтому счётчики по IP показывают, что заявляли пакеты, а не кто их отправил.

Примечания

  • Удалите любую из версий командой sudo nft delete table netdev cve_2026_98432. Ни одна из них не сохраняется после перезагрузки; включите файл из /etc/nftables.conf. fancy.nft добавляет таблицу и пересоздаёт только правила, поэтому при перезагрузке счётчики сохраняются; выполните nft delete table netdev cve_2026_98432 сначала, чтобы сбросить их или изменить набор. Счётчики хранятся в памяти ядра и не переживают перезагрузку.
  • Он отбрасывает каждый SYN с IP-опциями, а не только вредоносные; это редко встречается в обычном трафике. Только IPv4.
Скачать инструмент