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
copyfail-check — Archivé, déplacé vers codesource/cve-check. Script shell pour détecter l'exposition et les mesures d'atténuation de CVE-2026-31431 (Copy Fail) sur les systèmes Linux : vérification du noyau, état des modules, paramètres de démarrage, accessibilité d'AF_ALG et état des correctifs de la distribution. | Kitploit
Outils/GitHubGitHub/codesource/copyfail-check
Scanners de VulnérabilitésAnalyse des VulnérabilitésAudit de ConfigurationDevSecOpsRéponse aux Incidents
GitHubcodesource/copyfail-check

copyfail-check

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

À propos

Archivé, déplacé vers codesource/cve-check. Script shell pour détecter l'exposition et les mesures d'atténuation de CVE-2026-31431 (Copy Fail) sur les systèmes Linux : vérification du noyau, état des modules, paramètres de démarrage, accessibilité d'AF_ALG et état des correctifs de la distribution.

Partager

copyfail-check

[!IMPORTANT] Ce dépôt est archivé. La vérification Copy Fail se trouve désormais dans cve-check, avec d'autres vérifications de vulnérabilités et un mode --fix optionnel qui applique la remédiation. Voir checks/CVE-2026-31431 pour cette vérification.

curl -fsSL https://raw.githubusercontent.com/codesource/cve-check/main/cve-check.sh | sudo bash -s -- CVE-2026-31431

Le script check_copyfail.sh ci-dessous fonctionne toujours mais n'est plus mis à jour.

Scripts shell pour détecter les vulnérabilités du noyau Linux, vérifier l'état des mesures d'atténuation et guider la remédiation — conçus pour s'exécuter localement ou sur des parcs entiers via SSH, Ansible ou pssh.


CVE-2026-31431 — Copy Fail

Copy Fail est une vulnérabilité d'élévation de privilèges locale (LPE) de gravité élevée dans le module cryptographique algif_aead du noyau Linux. Une faille logique introduite en 2017 permet à tout utilisateur local non privilégié d'écrire 4 octets contrôlés dans le cache de pages de n'importe quel fichier lisible — suffisant pour écraser un binaire setuid et obtenir les droits root. Un proof-of-concept Python fonctionnel de 732 octets existe et est accessible publiquement.

CVECVE-2026-31431
CVSS7.8 (Élevée)
Divulguée29 avril 2026
AffectésNoyaux Linux 4.13 – 6.x (2017–2026)
DistributionsUbuntu, RHEL, SUSE, Debian, Amazon Linux et la plupart des autres
Exploitable à distanceNon — accès local requis
Correctif disponiblePartiel — consultez les avis de votre distribution

Ce que le script vérifie

VérificationNécessite root ?
Version du noyau — si vous êtes dans la plage affectée (≥ 4.13)Non
Module algif_aead — chargé, présent sur le disque ou sur liste noireNon
Paramètres de démarrage — présence de initcall_blacklist=algif_aead_initNon
Accessibilité du socket AF_ALG — si le chemin d'exploitation est ouvertNon
État de SELinuxNon
État d'AppArmorOui — sortie partielle uniquement sans root
État du correctif de la distribution — CVE listée dans le changelog du noyauNon

Root n'est pas requis pour exécuter le script — toutes les vérifications sauf l'état d'AppArmor fonctionnent en tant qu'utilisateur ordinaire. L'exécution avec sudo est recommandée pour des résultats complets, et constitue le choix le plus sûr lors d'un pipe depuis curl.

Compatibilité

Le script est conçu pour fonctionner sur toutes les principales distributions Linux :

Famille de distributionVérification du gestionnaire de paquetsChemin des modules
Debian, Ubuntudpkg + changelog du noyau/lib/modules/
RHEL, CentOS, Amazon Linuxrpm (kernel, kernel-rt)/lib/modules/
SUSE, openSUSErpm (kernel-default)/lib/modules/
Arch Linuxpacman + lien vers l'avis/usr/lib/modules/
Fedorarpm + repli sur /usr/lib/modules//usr/lib/modules/

Nécessite bash — le script utilise une syntaxe spécifique à bash et ne fonctionnera pas sous sh, ash ou dash. Sur Alpine Linux (qui utilise busybox ash par défaut), installez d'abord bash :

apk add bash

Exécution rapide (serveur unique)

Sans root — la plupart des vérifications fonctionnent :

curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | bash

Avec root — résultats complets incluant le statut AppArmor :

curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | sudo bash

Astuce : Épinglez un SHA de commit spécifique en production afin que le script ne puisse pas changer sous vos pieds :

curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/COMMIT_SHA/check_copyfail.sh | sudo bash

Télécharger et inspecter d'abord (recommandé)

curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh -o check_copyfail.sh
less check_copyfail.sh
bash check_copyfail.sh        # without root
sudo bash check_copyfail.sh   # full results

Exécution sur un parc de machines

Boucle SSH

for HOST in server1 server2 server3; do
  echo "=== $HOST ==="
  ssh "$HOST" "curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | sudo bash"
done

Ansible

- name: Check Copy Fail vulnerability
  hosts: all
  tasks:
    - name: Run check script
      script: check_copyfail.sh
      become: yes

SSH parallèle

pssh -h hosts.txt -i \
  "curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | sudo bash"

Exemple de sortie

============================================================
  Copy Fail CVE-2026-31431 – Vulnerability Check
============================================================

>>> Kernel Version
  [INFO]  Running kernel: 5.15.0-107-generic
  [WARN]  Kernel 5.15.0-107-generic is in the affected range (4.13 – 6.x).

>>> algif_aead Module Status
  [WARN]  algif_aead module is currently LOADED — system is exploitable.
  [WARN]  Module file found at: /lib/modules/5.15.0-107-generic/kernel/crypto/algif_aead.ko
  [WARN]  algif_aead is NOT blacklisted — it can be loaded on demand.

>>> Kernel Boot Parameter Mitigation
  [WARN]  initcall_blacklist=algif_aead_init is NOT set in boot parameters.

>>> AF_ALG Socket Reachability
  [WARN]  AF_ALG sockets are reachable by this user — exploit path is open.

>>> Mandatory Access Control (SELinux / AppArmor)
  [WARN]  Neither SELinux nor AppArmor tools detected — no MAC layer present.

>>> Distribution Patch Status
  [WARN]  Could not confirm CVE-2026-31431 is listed as fixed in running kernel's changelog.

============================================================
  SUMMARY
============================================================
  !! LIKELY VULNERABLE — No confirmed mitigation detected.

  Recommended actions (in order of preference):
  1. Apply your distro's kernel update as soon as available.
  2. Add to /etc/modprobe.d/copyfail.conf:
       blacklist algif_aead
       install algif_aead /bin/true
     Then run: sudo depmod -a && sudo update-initramfs -u
  3. Add to kernel boot parameters (grub):
       initcall_blacklist=algif_aead_init
  4. Immediately unload the module if loaded:
       sudo rmmod algif_aead
============================================================

Atténuations

Appliquez-les par ordre de préférence :

1. Corrigez votre noyau (meilleure solution)

# Debian / Ubuntu
sudo apt update && sudo apt upgrade linux-image-$(uname -r)

# RHEL / CentOS / Amazon Linux
sudo yum update kernel

# SUSE
sudo zypper update kernel-default

2. Mettre le module sur liste noire (immédiat, persistant)

sudo tee /etc/modprobe.d/copyfail.conf << 'EOF'
blacklist algif_aead
install algif_aead /bin/true
EOF

sudo depmod -a

# Debian/Ubuntu
sudo update-initramfs -u

# RHEL/Fedora
sudo dracut -f

3. Déchargez le module maintenant (immédiat, non persistant après redémarrage)

sudo rmmod algif_aead

4. Paramètre de démarrage du noyau (alternative à la liste de blocage)

Ajoutez initcall_blacklist=algif_aead_init à votre configuration GRUB et redémarrez.


Références

Télécharger l’outil