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
block-copyfail — BPF LSM bloqueur pour CVE-2026-31431 (Copy Fail) — bloque les liaisons AF_ALG authencesn à l'exécution sans redémarrage | Kitploit
Outils/GitHubGitHub/atgreen/block-copyfail
Outils DéfensifsAnalyse Dynamique (Sandboxing)Analyse des VulnérabilitésRéponse aux Incidents
GitHubatgreen/block-copyfail

block-copyfail

BPF LSM bloqueur pour CVE-2026-31431 (Copy Fail) — bloque les liaisons AF_ALG authencesn à l'exécution sans redémarrage

Voir le dépôt
7322il y a 5 moisPas 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

block-copyfail

Preuve de concept d’atténuation à l’exécution pour CVE-2026-31431 (« Copy Fail ») — une élévation de privilèges dans le noyau Linux via le modèle cryptographique authencesn dans algif_aead.

Contrairement au blocage de modules, cela ne nécessite aucun redémarrage. Un programme BPF LSM intercepte socket_bind et bloque toutes les liaisons AEAD AF_ALG — la sous-couche exploitée par Copy Fail. Cela empêche les contournements via l’imbrication de modèles cryptographiques (par ex. pcrypt(authencesn(...))). Les autres usages d’AF_ALG (hash, skcipher) ne sont pas affectés.

Les tentatives bloquées sont journalisées en temps réel avec le PID, le nom du processus et l’horodatage.

Prérequis

  • Noyau Linux 5.7+ avec CONFIG_BPF_LSM=y et lsm=bpf dans les paramètres de démarrage
  • SBCL 2.0+
  • Whistler (compilateur eBPF Common Lisp)
make doctor   # vérifie tous les prérequis

Démarrage rapide

git clone https://github.com/atgreen/block-copyfail.git
cd block-copyfail
make ubi8-build
sudo ./block-copyfail

Le bloqueur reste actif jusqu’à ce que vous appuyiez sur Ctrl-C, puis se détache proprement.

Compilation locale

Pour compiler sur votre propre machine, vous avez besoin de SBCL et de Whistler (le compilateur eBPF Common Lisp) :

git clone https://github.com/atgreen/whistler.git ~/git/whistler
make build
sudo ./block-copyfail

Compiler un binaire portable (EL8+)

Compilez dans un conteneur UBI8 pour produire un binaire qui fonctionne sur RHEL/CentOS/Alma/Rocky 8+, Fedora, Ubuntu 20.04+ et tout Linux avec glibc 2.28 ou plus récent. Aucun SBCL ni Whistler n’est nécessaire sur le système cible — il suffit de copier le binaire et de l’exécuter.

make ubi8-build
scp block-copyfail root@server:
ssh root@server ./block-copyfail

Compiler en objet ELF

Produit un fichier .bpf.o standard chargeable par bpftool, libbpf ou tout chargeur BPF :

make elf
sudo mkdir -p /sys/fs/bpf/copyfail
sudo bpftool prog loadall block-copyfail.bpf.o /sys/fs/bpf/copyfail autoattach

Pour détacher et supprimer :

sudo rm -rf /sys/fs/bpf/copyfail

Tests

Avec le bloqueur actif dans un terminal, déclenchez un test dans un autre :

python3 trigger-test.py

Le script de test tente une liaison AEAD AF_ALG (aucun exploit n’est exécuté).

Sortie attendue dans le terminal de test :

BLOCKED: aead/authencesn(hmac(sha256),cbc(aes)) — [Errno 1] Operation not permitted
BLOCKED: aead/gcm(aes) — [Errno 1] Operation not permitted
ALLOWED: hash/sha256
ALLOWED: skcipher/cbc(aes)

Sortie attendue dans le terminal du bloqueur :

Copy Fail blocker active — all AF_ALG AEAD binds blocked.
Other AF_ALG usage (hash, skcipher) unaffected.
Watching for blocked attempts. Press Ctrl-C to exit.

TIME                  PID       COMMAND
----                  ---       -------
06:38:12               31337  python3

Sans le bloqueur actif, le script de test affiche ALLOWED pour les quatre algorithmes.

Fonctionnement

Le programme BPF lit 7 octets de struct sockaddr_alg depuis les arguments de socket_bind via bpf_probe_read_kernel, vérifie salg_family == AF_ALG et salg_type == "aead", et renvoie -EPERM en cas de correspondance. Cela bloque toutes les liaisons d’algorithmes AEAD, quelle que soit l’imbrication de modèles. Les événements sont envoyés à l’espace utilisateur via un tampon en anneau.

Écrit en Whistler, un dialecte Common Lisp qui compile directement en bytecode eBPF — aucun C, clang ou LLVM requis.

Licence

MIT

Télécharger l’outil