
Vérificateur en lecture seule pour CVE-2026-31431 (algif_aead root local). Signale l'état du noyau/module et suggère des mesures d'atténuation.
Vérificateur en lecture seule pour la vulnérabilité locale-racine algif_aead (CVE-2026-31431).
Il examine la configuration du noyau, l'état du module, l'accessibilité du socket AF_ALG et les éventuelles
mitigations que vous avez mises en place, puis affiche un verdict. Il n'exécute pas
de code d'exploitation.
Compagnon de dirty-frag-check (CVE-2026-43284 / CVE-2026-43500).

Attention : il s'agit d'une heuristique. Un verdict vert n'est pas une garantie. Croisez avec l'avis de votre distribution avant de déclarer un hôte sécurisé. MIT, sans garantie.
curl -fsSL https://github.com/haydenjames/CVE-2026-31431-check/releases/latest/download/cve-2026-31431.sh | bash
Lisez-le d'abord si vous ne faites pas confiance au pipe vers bash :
curl -fsSLO https://github.com/haydenjames/CVE-2026-31431-check/releases/latest/download/cve-2026-31431.sh
less cve-2026-31431.sh
chmod +x cve-2026-31431.sh && ./cve-2026-31431.sh
Épinglez à un tag de version pour le contrôle des modifications : https://raw.githubusercontent.com/haydenjames/CVE-2026-31431-check/v1.0.3/cve-2026-31431.sh.
-q pour une sortie une ligne par machine. -h pour l'aide. Code de sortie 0 ok, 1 vulnérable, 2 inconnu.
-q affiche une ligne par hôte, vous pouvez donc le rediriger via n'importe quel
gestionnaire distant que vous utilisez déjà :
# parallel-ssh
parallel-ssh -h hosts.txt -i 'bash -s -- -q' < cve-2026-31431.sh
# ansible
ansible all -m script -a "cve-2026-31431.sh -q"
Les codes de sortie (0 ok, 1 vulnérable, 2 inconnu) fonctionnent également si votre outillage agrège par statut.
bash 4+, plus les habituels awk/grep/sed/lsmod/modprobe. Si python3
est disponible, il testera également l'accessibilité du socket AF_ALG ; sinon, ce contrôle est
ignoré. Le contrôle lui-même ne nécessite pas les droits root. L'application de la mitigation en nécessite.
algif_aead. Intégré, module chargeable, chargé ou absent. Lit
/boot/config-* ou /proc/config.gz, sinon utilise lsmod.
1b. État de authencesn. Selon l'avis en amont, c'est le module qui contient
réellement le bogue — algif_aead est l'une des voies d'accès,
IPsec en est une autre. Détecté via lsmod/modinfo et la configuration.modprobe -n -v. Signale également
la directive DefaultRestrictAddressFamilies systemd [Manager] cassée qui circule —
cette directive ne fonctionne que sur les units, pas dans system.conf.d. Rapporte le statut de SELinux et AppArmor.algif_aead est intégré. Verdict de meilleur effort ; il se base sur les codes de sortie de dnf check-update, qui peuvent être non nuls pour des raisons non liées (réseau, métadonnées obsolètes). Ne supposez pas que vous êtes bloqué sans vérifier votre suivi de distribution.Selon l'avis en amont,
le bogue se trouve en fait dans le module crypto authencesn — algif_aead n'est
qu'une des voies d'accès. Blacklistez les deux pour être sûr :
sudo tee /etc/modprobe.d/disable-cve-2026-31431.conf <<'EOF'
install algif_aead /bin/false
install authencesn /bin/false
EOF
sudo rmmod authencesn algif_aead 2>/dev/null || true
Si rmmod dit « le module est utilisé », quelque chose sur la machine utilise activement
AF_ALG ou IPsec (certains VPN, chiffrement de disque, outils crypto en espace utilisateur).
Ne forcez pas le déchargement. Passez le patch et redémarrez.
Si le code vulnérable est compilé dans votre noyau, le blacklistage ne servira à rien. Seule une mise à jour du noyau le corrige.
AlmaLinux 8, AlmaLinux 9.7, CentOS 7 (TuxCare ELS), Ubuntu 22.04, Ubuntu 24.04.
Rapports de bogues qui ont façonné la v1.0.1 :
kmod d'Ubuntu n'était pas détectée, provoquant de faux verdicts VULNÉRABLE sur des hôtes Ubuntu patchés.MIT — voir LICENSE.