
Outil défensif de détection et d'atténuation pour CVE-2026-31431 ("Copy Fail") — LPE algif_aead du noyau Linux. Aucun code d'exploitation inclus.
Outil de détection et d'atténuation automatisées pour la vulnérabilité
CVE-2026-31431 (« Copy Fail »), une élévation de privilèges
locale (LPE) dans le module algif_aead (interface AF_ALG) du noyau Linux.
⚠️ Périmètre : ce projet est purement défensif. Il ne contient, ne génère et ne référence aucun code d'exploitation. L'objectif est de permettre aux équipes de sécurité et aux administrateurs système de (1) identifier les hôtes exposés et (2) appliquer l'atténuation recommandée (blocage du module
algif_aead) jusqu'à ce que le noyau corrigé soit installé.
Détection (--check)
uname -r)algif_aead est chargé ou disponible au
chargementapt/dpkg,
rpm, zypper) pour y chercher une référence au patch/CVE/etc/os-releaseVULNÉRABLE, ATTÉNUÉ (module bloqué),
CORRIGÉ (le noyau contient déjà le patch) ou INDÉTERMINÉAtténuation (--mitigate, nécessite root)
/etc/modprobe.d/disable-algif-aead-cve-2026-31431.conf avec
install algif_aead /bin/false et blacklist algif_aeadrmmod)Rapport (--report json|text)
# Diagnostic uniquement (ne nécessite pas root)
sudo ./bin/copyfail-guard --check
# Diagnostic et application de l'atténuation temporaire
sudo ./bin/copyfail-guard --mitigate
# Sortie JSON pour l'intégration avec d'autres outils
sudo ./bin/copyfail-guard --check --report json
Prérequis : Python 3.8+, Bash, accès root uniquement pour --mitigate
(la vérification fonctionne sans privilèges élevés, avec une information limitée).
algif_aead) est temporaire. Elle réduit la
surface d'attaque mais ne remplace pas la mise à jour du noyau.
Dès que le paquet de noyau corrigé (contenant le commit
a664bf3d603d ou un backport équivalent) est disponible pour votre
distribution, il doit être appliqué et le système redémarré.algif_aead (utilisation directe de AF_ALG pour
AEAD depuis l'espace utilisateur) peuvent voir des fonctionnalités impactées par l'atténuation.
dm-crypt/LUKS, kTLS, IPsec, SSH et les builds standard d'OpenSSL/GnuTLS
ne dépendent normalement pas de AF_ALG et ne sont pas affectés.copyfail-guard/
├── bin/
│ └── copyfail-guard # entrypoint (bash) -> appelle le module Python
├── copyfail_guard/
│ ├── __init__.py
│ ├── detect.py # logique de détection
│ ├── mitigate.py # logique d'atténuation
│ └── report.py # formatage de sortie (texte/JSON)
├── tests/
│ └── test_detect.py
├── LICENSE
└── README.md
MIT — voir LICENSE.