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

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

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

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

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

Категории

Все категории
Loading categories
drop-ipv4-opt — XDP/eBPF-программа, которая отбрасывает IPv4-пакеты с IP-опциями (IHL > 5) на интерфейсе для смягчения последствий use-after-free в TCP-рукопожатии (CVE-2026-98432). | Kitploit
Инструменты/GitHubGitHub/jamilbk/drop-ipv4-opt
Оборонительные ИнструментыСниффинг и анализ пакетовАнализ уязвимостейСетевая безопасность
GitHubjamilbk/drop-ipv4-opt

drop-ipv4-opt

XDP/eBPF-программа, которая отбрасывает IPv4-пакеты с IP-опциями (IHL > 5) на интерфейсе для смягчения последствий use-after-free в TCP-рукопожатии (CVE-2026-98432).

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

Популярное

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

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

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

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

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

drop-ipv4-opt

Небольшая XDP-программа для смягчения последствий CVE-2026-98432 — use-after-free в обработке IPv4-опций при TCP-рукопожатии в ядре. На большинстве хостов ошибку можно вызвать только входящим SYN, содержащим IP-опции (см. исключение для NetLabel/CIPSO ниже), поэтому эта программа отбрасывает IPv4-пакеты с опциями до того, как они будут переданы сетевому стеку ядра.

Пакет содержит IP-опции, когда его поле IHL (длина заголовка) больше 5, то есть IPv4-заголовок длиннее 20 байт.

[!WARNING] Это может не защитить хосты, использующие NetLabel/CIPSO (SELinux или Smack с сопоставлением CIPSOV4). На таких хостах ядро может само добавлять IP-опции, поэтому ошибка может быть достижима и с обычными SYN. Более надёжным исправлением там является пропатченное ядро. netlabelctl map list поможет определить, использует ли хост CIPSO: записи типа CIPSOV4 указывают на это.

Что она делает

ПакетДействие
IPv4 с опциями (IHL > 5)XDP_DROP
IPv4 без опцийXDP_PASS
Всё остальное (IPv6, ARP, …)XDP_PASS
Усечённый / некорректный заголовокXDP_PASS

Кадры с тегами VLAN также обрабатываются: программа пропускает до двух тегов VLAN (802.1Q и 802.1ad/QinQ), прежде чем проверить наличие IPv4. Кадры с более чем двумя тегами пропускаются.

Требования

На хосте с Linux:

  • clang и llvm
  • libbpf-dev (для bpf/bpf_helpers.h)
  • Заголовки ядра (linux-headers-$(uname -r) или linux-libc-dev)
  • iproute2 (для ip link) и, опционально, bpftool

Debian / Ubuntu:

sudo apt install clang llvm libbpf-dev linux-libc-dev iproute2 bpftool

Fedora:

sudo dnf install clang llvm libbpf-devel kernel-headers iproute bpftool

Сборка

make

В результате создаётся drop_ipv4_opt.o.

Подключение к интерфейсу

Замените eth0 на имя вашего интерфейса (см. ip link).

Нативный (драйверный) режим, самый быстрый:

sudo ip link set dev eth0 xdpdrv obj drop_ipv4_opt.o sec xdp

Универсальный (SKB) режим, работает на любом интерфейсе, но медленнее:

sudo ip link set dev eth0 xdpgeneric obj drop_ipv4_opt.o sec xdp

Пусть ядро выберет режим (нативный, если поддерживается, иначе универсальный):

sudo ip link set dev eth0 xdp obj drop_ipv4_opt.o sec xdp

Проверка подключения

ip link show dev eth0          # look for "xdp" / "prog/xdp id N"
sudo bpftool net show dev eth0

Отключение

sudo ip link set dev eth0 xdp off

Используйте xdpdrv off или xdpgeneric off, если вы подключали в этом конкретном режиме.

Тестирование

С другого хоста отправьте пакет с IP-опцией, например с опцией Record Route:

ping -R <target-ip>

При подключённой программе эти ping-запросы не получают ответа. Обычный ping <target-ip> по-прежнему работает.

Лицензия

MIT. См. LICENSE.

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