Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
drop-ipv4-opt — Programme XDP/eBPF qui supprime les paquets IPv4 portant des options IP (IHL > 5) au niveau de l'interface afin d'atténuer la faille use-after-free de la poignée de main TCP CVE-2026-98432. | Kitploit
Outils/GitHubGitHub/jamilbk/drop-ipv4-opt
Outils DéfensifsSniffing et Analyse de PaquetsAnalyse des VulnérabilitésSécurité Réseau
GitHubjamilbk/drop-ipv4-opt

drop-ipv4-opt

Programme XDP/eBPF qui supprime les paquets IPv4 portant des options IP (IHL > 5) au niveau de l'interface afin d'atténuer la faille use-after-free de la poignée de main TCP CVE-2026-98432.

Voir le dépôt
211il y a 3 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

drop-ipv4-opt

Un petit programme XDP pour atténuer CVE-2026-98432, un use-after-free dans la gestion de la poignée de main TCP du noyau pour les options IPv4. Sur la plupart des hôtes, le bug ne peut être déclenché que par un SYN entrant portant des options IP (voir l'exception NetLabel/CIPSO ci-dessous), donc ce programme supprime les paquets IPv4 avec options avant qu'ils ne soient transmis à la pile réseau du noyau.

Un paquet possède des options IP lorsque son champ IHL (longueur d'en-tête) est supérieur à 5, ce qui signifie que l'en-tête IPv4 est plus long que 20 octets.

[!WARNING] Cela peut ne pas protéger les hôtes utilisant NetLabel/CIPSO (SELinux ou Smack avec un mappage CIPSOV4). Sur ces hôtes, le noyau peut attacher lui-même des options IP, donc le bug peut être atteignable avec des SYN ordinaires. Un noyau corrigé est la solution plus fiable dans ce cas. netlabelctl map list peut aider à déterminer si un hôte utilise CIPSO : des entrées de type CIPSOV4 suggèrent que c'est le cas.

Ce qu'il fait

PaquetAction
IPv4 avec options (IHL > 5)XDP_DROP
IPv4 sans optionsXDP_PASS
Tout le reste (IPv6, ARP, …)XDP_PASS
En-tête tronqué / malforméXDP_PASS

Les trames étiquetées VLAN sont également gérées : le programme saute jusqu'à deux étiquettes VLAN (802.1Q et 802.1ad/QinQ) avant de vérifier la présence d'IPv4. Les trames comportant plus de deux étiquettes sont transmises.

Prérequis

Sur un hôte Linux :

  • clang et llvm
  • libbpf-dev (pour bpf/bpf_helpers.h)
  • Les en-têtes du noyau (linux-headers-$(uname -r) ou linux-libc-dev)
  • iproute2 (pour ip link), et éventuellement 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

Compilation

make

Cela produit drop_ipv4_opt.o.

Attacher à une interface

Remplacez eth0 par le nom de votre interface (voir ip link).

Mode natif (pilote), qui est le plus rapide :

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

Mode générique (SKB), qui fonctionne sur n'importe quelle interface mais est plus lent :

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

Laisser le noyau choisir le mode (natif si pris en charge, sinon générique) :

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

Vérifier qu'il est attaché

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

Détacher

sudo ip link set dev eth0 xdp off

Utilisez xdpdrv off ou xdpgeneric off si vous l'avez attaché dans ce mode spécifique.

Test

Depuis un autre hôte, envoyez un paquet avec une option IP, par exemple avec l'option Record Route :

ping -R <target-ip>

Avec le programme attaché, ces pings ne reçoivent aucune réponse. Un ping <target-ip> normal fonctionne toujours.

Licence

MIT. Voir LICENSE.

Télécharger l’outil