
CVE-2026-31431
Une escalade de privilèges locale étonnamment simple mais mortelle dans le noyau Linux
CVE-2026-31431 (surnommée "Échec de copie") est une vulnérabilité d'escalade de privilèges locale dans le sous-système cryptographique du noyau Linux, affectant spécifiquement l'interface algif_aead.
Un utilisateur local non privilégié peut exploiter cette faille pour effectuer une écriture contrôlée de 4 octets dans le cache de pages de tout fichier lisible sur le système — y compris les binaires setuid — permettant finalement l'exécution de code arbitraire en tant que root.
La vulnérabilité a été introduite en 2017 par le commit 72548b093ee3 ("crypto: algif_aead - support in-place operations").
Le noyau supposait incorrectement que les requêtes AEAD pouvaient s'exécuter en toute sécurité sur place (req->src == req->dst). Cependant, lors de l'utilisation de sockets AF_ALG avec splice() à partir de fichiers classiques, les tampons source et destination résident souvent dans des mappings mémoire différents.
Cette inadéquation a conduit à une erreur logique permettant une corruption contrôlée de la mémoire dans le cache de pages.
L'exploitation est triviale. Un PoC Python d'environ 10 lignes peut obtenir root de manière fiable sur les systèmes non patchés.
| Métrique | Valeur |
|---|---|
| Score CVSS v3 | 7.8 (Élevé) |
| Note Red Hat | Important |
| Note Ubuntu | Élevé |
| Type d'attaque | Escalade de privilèges locale |
a664bf3 (ou backports équivalents)Action recommandée : Mettez à jour votre noyau immédiatement.
Le correctif officiel annule l'optimisation problématique sur place dans crypto/algif_aead.c.
# Ubuntu / Debian
sudo apt update && sudo apt upgrade -y
# RHEL / Fedora / Rocky / Alma
sudo dnf update kernel -y
# Vérifier la version du noyau
uname -r
Solution de contournement temporaire (si un correctif immédiat n'est pas possible) :
AF_ALG via seccomp ou AppArmor/SELinuxDes exploits publics sont déjà disponibles, y compris une preuve de concept Python très petite et fiable.
⚠️ Avertissement : Les systèmes laissés non patchés après la divulgation sont hautement vulnérables.
Restez en sécurité. Patchez tôt. Patchez souvent.
Fait avec ❤️ pour la communauté Linux