CVE-2026-31431 est une vulnérabilité du noyau Linux qui affecte le algif_aead module cryptographique.
Il permet à un utilisateur local d'élever ses privilèges à ceux de root en exploitant une gestion de la mémoire non sécurisée via l'interface AF_ALG.
Évaluation rapide de l'impact #
- Catégorie: Élévation des privilèges locaux (LPE)
- Accès requis : accès utilisateur local ou conteneur
- Affecté: La plupart des noyaux Linux (≈2017+)
- Fiabilité de l'exploit : Haute
Risque: Compromission totale des droits d'administrateur à partir d'un accès non privilégié.
Cause première #
La vulnérabilité est due à une gestion incorrecte de opérations AEAD sur place:
// Hypothèse non sécurisée si (src == dst) { process_in_place(); }
En réalité, Il n'est pas garanti que les tampons source et destination référencent la même mémoire.,
entraînant une corruption contrôlée de la mémoire via la réutilisation du cache de pages.
Comment vérifier l'exposition #
Vérifiez si le module est chargé. #
lsmod | grep algif_aead
Vérifier la version du noyau #
uname -r
Si vous utilisez un noyau non patché (< 6.1.170) et algif_aead Si cette fonctionnalité est disponible, le système est potentiellement vulnérable.
4. Indicateurs d'exploitation #
- Élévation de privilèges inattendue sans journaux
- Utilisation anormale des sockets AF_ALG
- Haute fréquence de
splice()appels système - Anomalies d'exécution dans les binaires setuid
Modèle de reproduction (simplifié) #
// Ouvrir le descripteur de fichier binaire cible fd = open("/usr/bin/suid_binary", O_RDONLY); // Créer un socket AF_ALG sock = socket(AF_ALG, SOCK_SEQPACKET, 0); // Associer le fichier au chemin de chiffrement splice(fd, NULL, sock, NULL, size, 0); // Déclencher la corruption sendmsg(sock, payload, ...);
Le résultat serait un écraser le cache de page et donc, un les déplacements verticaux et élévations de privilèges.
Atténuation immédiate #
Décharger le module vulnérable #
modprobe -r algif_aead
Utilisation du bloc AF_ALG (exemple) #
Via seccomp / AppArmor / SELinux :
deny socket(AF_ALG)
À noter: Ce sont des mesures d'atténuation temporaires.
Correction permanente #
Appliquer les correctifs du noyau qui suppriment le traitement sur place non sécurisé :
// Approche fixe copy_to_temp(src); process(temp, dst);
RELIANOID Protection #
Étendue des risques #
Le module noyau concerné est présent dans RELIANOID systèmes mais n'est pas chargé par défaut. En outre, RELIANOID software n'utilise pas le AF_ALG interface de socket.
Par conséquent, l'exposition au risque pour RELIANOID L'utilisation des équilibreurs de charge est minimale, à condition qu'aucune configuration personnalisée n'active ou n'utilise explicitement cette fonctionnalité.
Mesures #
La prise en charge des mesures d'atténuation sera incluse dans nos prochaines versions :
- RELIANOID Enterprise Edition 8.6
- RELIANOID Community Edition 7.10
Actions recommandées #
- Maintenez le système à jour avec la dernière version disponible.
- Audit des accès locaux (SSH, conteneurs, CI/CD)
- Restreindre AF_ALG si non requis
- Surveiller les anomalies des appels système