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
copy-fail-cve-2026-31431 — Analyseur passif de systèmes Linux qui classe l’exposition à CVE-2026-31431 via la version du noyau, le journal des modifications de la distribution, l’état des modules et l’accessibilité d’AF_ALG, avec sortie JSON pour l’intégration SIEM. | Kitploit
Outils/GitHubGitHub/effiesec/copy-fail-cve-2026-31431
Scanners de VulnérabilitésAnalyse des VulnérabilitésAudit de Configuration
GitHubeffiesec/copy-fail-cve-2026-31431

copy-fail-cve-2026-31431

Analyseur passif de systèmes Linux qui classe l’exposition à CVE-2026-31431 via la version du noyau, le journal des modifications de la distribution, l’état des modules et l’accessibilité d’AF_ALG, avec sortie JSON pour l’intégration SIEM.

Voir le dépôt
18il 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

Vérificateur CVE pour Copy Fail (CVE-2026-31431)

Auteurs/Contributeurs : Patrick Doyle (Auteur/Mainteneur), Effie Renard (Co-auteure), Kimberly-Lee Banks (Co-auteure), Chris F. (Support/Revue de code)

Divulgation IA : Claude Code a été utilisé pour la rédaction des fichiers de tests, la rédaction des données de test et une revue de sécurité du code. Toutes les modifications ont été auditées manuellement par l'un des contributeurs.

Description

Binaire Go unique à liaison statique qui classe l'exposition d'un hôte Linux à la CVE-2026-31431.

L'outil est passif. Il n'exploite pas la faille. La sonde de mécanisme (voir la déclaration de sécurité ci-dessous) émet exactement deux appels système et ne touche jamais au chemin de code vulnérable.


Ce qu'il vérifie

SignalSourceOption
Version du noyau par rapport au correctif en amontuname(2)--kernel-version
Le journal des modifications de la distribution mentionne la CVEapt/rpm/apk ou changelog.Debian.gz sur disque--changelog
Statut du module algif_aead/proc/modules, modprobe.d, /lib/modules--module
Surface vulnérable accessiblesocket(AF_ALG) + bind(authencesn(...))--mechanism
Compilé dans vmlinux/boot/config-$(uname -r) ou /proc/config.gz(partie de --module)

Si aucune option de vérification n'est fournie, les quatre sont exécutées.


Modes de sortie

ModeDéclencheurCas d'utilisation
Style élégant (par défaut)Sortie TTY, sans remplacement --format, sans variable d'environnement NO_COLORExécutions en shell interactif
Texte brutSortie non-TTY, OU --format=text, OU NO_COLOR=1, OU --no-colorScripts shell, tubes
JSON--format=jsonIngestion Syslog/SIEM, scripts shell
Silencieux--quietCode de sortie uniquement (automatisation/scripts)

Forcer le style élégant lors d'un tube : cvecheck --pretty | tee report.txt. Forcer le texte brut dans un TTY : cvecheck --no-color ou NO_COLOR=1 cvecheck.


Déclaration de sécurité (sonde de mécanisme)

La sonde émet exactement deux appels système socket(AF_ALG, SOCK_SEQPACKET, 0) et bind(fd, &SockaddrALG{Type:"aead", Name:"authencesn(hmac(sha256), cbc(aes))"}). Elle est ensuite suivie de close(fd). Elle n'effectue aucun setsockopt pour une clé, aucun accept, aucun sendmsg, aucun splice et aucune création de tube. Le chemin de code vulnérable nécessite un sendmsg de données cryptographiques combiné à un splice depuis un descripteur de fichier adossé au cache de pages ; aucune de ces opérations ne se produit, la faille ne peut donc pas se déclencher.

Une sonde réussie signifie que la surface est accessible. La présence ou non de la faille dans le noyau est déterminée par les signaux de version du noyau et de journal des modifications.

Effet secondaire : un bind réussi charge automatiquement algif_aead via le chargeur automatique de modules du noyau. La vérification du module s'exécute avant la sonde de mécanisme, de sorte que le rapport d'état de chargement est pré-sonde. Pour supprimer entièrement le chargement automatique, mettez d'abord algif_aead sur liste noire.


Codes de sortie

CodeSignification
0PATCHED / NOT_VULNERABLE / MITIGATED / LIKELY_NOT_EXPLOITABLE
2VULNERABLE ou MECHANISM_REACHABLE (analyse partielle, version du noyau non vérifiée)
3INCONCLUSIVE (signaux insuffisants)

Couverture des distributions

DistributionDétectionPaquet noyauRemarques
Ubuntu / Debian / Mint / Pop!_OSaptlinux-image-$(uname -r)La lecture du journal des modifications sur disque en priorité évite la fragilité réseau de apt changelog sur les noyaux signés
RHEL / CentOS / Rocky / Alma / Fedora / Amazon LinuxrpmkernelFournit algif_aead intégré (CONFIG_..._AEAD=y) ; la mitigation par liste noire n'est pas efficace
Oracle Linuxrpmkernel ou kernel-uekUEK détecté via la sous-chaîne uek dans uname -r
openSUSE / SLESrpmkernel-default
Alpineapklinux-lts / linux-virt / etc.La variante est choisie à partir du suffixe de version
Arch / CachyOS / Manjaro / Endeavour / Gentooaucunn/aRoulante/source : repose sur la vérification de la version du noyau

Déploiement

Installation automatique

Détecte automatiquement votre architecture, télécharge le binaire approprié dans $(pwd) et vérifie son SHA-256 par rapport aux SHA256SUMS publiés :

curl -fsSL https://copyfail.pcdoyle.dev/install.sh | sh

Le script se termine avec un code non nul en cas de non-concordance de la somme de contrôle et supprime le fichier défectueux.

Téléchargement du binaire (manuel)

Choisissez le binaire correspondant à l'architecture de votre hôte :

ArchitectureBinaire
Intel/AMD 64 bits (x86_64)cvecheck-linux-x86_64
ARM 64 bits (aarch64)cvecheck-linux-arm64
Intel/AMD 32 bits (i?86)cvecheck-linux-x86

Vérifiez avant d'exécuter :

curl -LO https://github.com/pcdoyle/copy-fail-cve-2026-31431/releases/latest/download/cvecheck-linux-x86_64
curl -LO https://github.com/pcdoyle/copy-fail-cve-2026-31431/releases/latest/download/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS
chmod +x cvecheck-linux-x86_64

Compilation à partir des sources

make build  # bin/cvecheck-linux-{x86_64,arm64,x86}
# SCP(SFTP) vers le serveur :
scp ./bin/cvecheck-linux-x86_64 host:/tmp/  # Moins de 4 Mo, statique, sans dépendance glibc

Exécution du programme

SSH vers l'hôte

# SSH :
ssh <host>
# Exécution du binaire :
/tmp/cvecheck-linux-x86_64  # Sortie élégante et lisible par l'humain.
/tmp/cvecheck-linux-x86_64 --format=json # Adapté aux scripts, Syslog et SIEM
/tmp/cvecheck-linux-x86_64 --format=text # Adapté aux scripts et aux tubes

Exécution en tant que commande distante SSH

ssh <host> /tmp/cvecheck-linux-x86_64   # En exécution directe, utilise --format=text par défaut
ssh <host> /tmp/cvecheck-linux-x86_64 --format=json # Adapté à Syslog/SIEM

Pour les conteneurs/chroot :

Montez la racine de l'hôte quelque part en lecture seule et passez --root :

docker run --rm -v /:/host:ro alpine /tmp/cvecheck --root /<host-path>

--root contrôle toutes les recherches sur disque (/etc/os-release, modprobe.d, /lib/modules, /boot/config-*, fichiers de journal des modifications). Les sondes de version du noyau et de mécanisme touchent toujours le noyau en cours d'exécution via uname(2) et socket(AF_ALG, ...).


Échelle de priorité

Résolue dans cet ordre (la première correspondance l'emporte) :

  1. PATCHED : le journal des modifications de la distribution référence l'ID de la CVE.
  2. NOT_VULNERABLE : le noyau en cours d'exécution est >= à la version corrigée en amont.
  3. MITIGATED : algif_aead est sur liste noire et non chargé et non intégré dans vmlinux.
  4. LIKELY_NOT_EXPLOITABLE : AF_ALG indisponible et module absent du disque.
  5. MECHANISM_REACHABLE : surface accessible mais version du noyau non vérifiée.
  6. VULNERABLE : noyau dans la plage vulnérable et mécanisme accessible.
  7. INCONCLUSIVE : aucune des conditions ci-dessus ne correspond.

Si --mechanism s'exécute en parallèle de --kernel-version et que les deux signalent un problème, le résultat est VULNERABLE avec une suggestion de remédiation.


Suggestions de remédiation

Télécharger l’outil