
Analyseur automatisé et assistant de correctif pour CVE-2026-31431, détectant les hôtes Linux vulnérables via SSH, vérifiant les versions du noyau, et appliquant des mises à niveau du noyau ou des atténuations temporaires sur plusieurs distributions.
Copy Fail est un scanner de sécurité automatisé et un assistant de correctif pour détecter et corriger la vulnérabilité CVE-2026-31431 (Linux Kernel algif_aead Local Privilege Escalation) dans votre infrastructure Linux.
CVE-2026-31431 est une vulnérabilité d'élévation de privilèges locaux (LPE) dans le module du noyau Linux algif_aead (Asynchronous Cipher Interface for AEAD). Cette vulnérabilité permet à un utilisateur local d'atteindre une élévation de privilèges au niveau root.
Cet outil permet de :
Remarque : Cet outil est destiné uniquement à l'audit et aux correctifs internes par les administrateurs système. Utilisez-le uniquement sur les systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation.

algif_aead (chargé/non chargé)Mise à niveau automatique du noyau sur les hôtes vulnérables via le gestionnaire de paquets :
Option : Redémarrage automatique après le correctif
algif_aead via la configuration modprobe.dBase de données des versions de noyau déjà corrigées pour :
paramiko>=3.0.0 # Bibliothèque SSH
rich>=13.0.0 # Interface terminal élégante
git clone https://github.com/gagaltotal/cve-2026-31431-copy-fail.git
cd cve-2026-31431-copy-fail
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
ou installer manuellement :
pip install paramiko>=3.0.0 rich>=13.0.0
python3 copyfail_scanner.py --help
# Analyser un sous-réseau avec une clé SSH
python3 copyfail_scanner.py --subnet <CIDR> --user <USERNAME> --key <PATH_TO_KEY>
# Analyser plusieurs hôtes spécifiques
python3 copyfail_scanner.py --hosts <IP1>,<IP2>,<IP3> --user <USERNAME> [--password <PASSWORD>]
# Analyse + correctif automatique
python3 copyfail_scanner.py --subnet <CIDR> --user <USERNAME> --key <PATH> --patch
# Analyse + atténuation temporaire
python3 copyfail_scanner.py --subnet <CIDR> --user <USERNAME> --key <PATH> --mitigate
| Option | Description | Exemple |
|---|---|---|
--subnet | Sous-réseau cible CIDR (mutuellement exclusif avec --hosts) | --subnet 192.168.1.0/24 |
--hosts | Liste d'adresses IP séparées par des virgules (mutuellement exclusif avec --subnet) | --hosts 192.168.1.10,192.168.1.20 |
--user | Nom d'utilisateur SSH (obligatoire) | --user root |
--password | Mot de passe SSH (optionnel, utilisez-le s'il n'y a pas de clé) | --password secret123 |
--key | Chemin de la clé privée SSH | --key ~/.ssh/id_rsa |
--port | Port SSH (par défaut : 22) | --port 2222 |
--threads | Nombre de threads parallèles (par défaut : 30) | --threads 50 |
--patch | Mise à niveau automatique du noyau sur les hôtes vulnérables | --patch |
--reboot | Redémarrage automatique après le correctif (à utiliser avec --patch) | --patch --reboot |
--mitigate | Appliquer l'atténuation temporaire (désactiver algif_aead) | --mitigate |
--output | Exporter les résultats d'analyse vers un fichier JSON | --output resultats.json |
--yes | Ignorer l'invite de confirmation avant le correctif/l'atténuation | --yes |
python3 copyfail_scanner.py \
--subnet 192.168.1.0/24 \
--user ubuntu \
--key ~/.ssh/id_rsa
Sortie : Affiche le tableau des résultats d'analyse et le récapitulatif
python3 copyfail_scanner.py \
--hosts 10.0.1.5,10.0.1.6,10.0.1.7 \
--user admin \
--password my_password123
python3 copyfail_scanner.py \
--subnet 172.16.0.0/16 \
--user root \
--key ~/.ssh/id_rsa \
--mitigate
Action : Analyse tous les hôtes, puis désactive le module algif_aead sur les hôtes vulnérables (demande une confirmation)