Getty Images

CVE-2026-31431 : élévation de privilèges dans le noyau Linux

La vulnérabilité CVE-2026-31431, désignée sous le nom de « Copy Fail », permet à un utilisateur local non privilégié d’obtenir des droits root sur la majorité des distributions Linux majeures depuis 2017.

Désignée sous le nom de « Copy Fail », la vulnérabilité CVE-2026-31431 constitue une faille logique critique au sein du noyau Linux. Elle permet à un utilisateur local non privilégié d’obtenir des droits root sur la majorité des distributions Linux majeures depuis 2017.

Son exploitation cible une faiblesse dans le modèle cryptographique « authencesn », accessible via l’interface de socket utilisateur « AF_ALG ». L’impact est une compromission totale du système hôte suite à une simple exécution locale.

L’exploit se distingue par sa simplicité et son universalité. Il ne requiert ni conditions spécifiques, ni tentatives répétées, ni dépendances complexes. Un script Python concis suffit à cibler des binaires « setuid » critiques, tels que « /usr/bin/su », sur diverses distributions. Le rapport de Xint.io indique : « un seul script Python de 732 octets peut modifier un binaire setuid et obtenir root sur pratiquement toutes les distributions Linux expédiées depuis 2017 ».

Le mécanisme repose sur l’interaction entre la fonction « splice() » et le traitement cryptographique en place de l’API « AF_ALG ». Le principe fondamental est la capacité à transférer des références de pages du cache mémoire vers le système cryptographique sans duplication.

L’attaque utilise ainsi « splice() » pour injecter des références de pages du cache d’un fichier cible (par exemple, « /usr/bin/su ») dans la liste de dispersion d’entrée du socket cryptographique. Lors du déclenchement de l’opération de déchiffrement, le noyau utilise cette liste. Le problème survient lorsque l’algorithme « authencesn » emploie le tampon de destination utilisateur comme espace de travail pour réarranger les données d’authentification.

« L’algorithme utilise la mémoire qui ne lui appartient pas comme espace tampon temporaire », expliquent les équipes de Xint Code. Plus précisément, une écriture de quatre octets au-delà des limites contractuelles du tampon de sortie écrase les pages du cache mémoire qui ont été chaînées en tant que partie du marqueur d’authentification. Cette modification est indétectable par les outils standards de vérification d’intégrité basés sur les sommes de contrôle des fichiers sur disque, car seul le contenu en mémoire est corrompu.

Périmètre d’impact : de la machine locale au nœud Kubernetes

L’incidence de Copy Fail dépasse le cadre d’une simple élévation de privilèges. Le mécanisme du cache mémoire est partagé sur l’ensemble du système hôte, ce qui confère à cette faille un potentiel d’évasion de conteneur. Une exploitation réussie sur un conteneur peut donc potentiellement compromettre le nœud hôte entier. Le rapport de Xint Code confirme cette portée étendue, mentionnant explicitement que l’attaque est un « vecteur de compromission du nœud Kubernetes ».

La correction définitive réside dans la mise à jour du noyau, car le correctif rétablit une opération cryptographique hors place, séparant les listes de dispersion source et destination, pour prévenir le chevauchement des écritures.

Pour une mitigation immédiate, SteelCyber recommande de désactiver le module affecté ou d’appliquer des restrictions au niveau du système d’exploitation.

Stratégiquement, pour les environnements où la mise à jour immédiate est complexe ou pour bloquer des vecteurs d’attaque spécifiques, il est conseillé de restreindre les familles d’adresses sur les services critiques, à commencer par le service SSH. Cette politique doit être étendue aux autres services exécutant du code utilisateur, tels que le service crond ou les plateformes de conteneurisation.

Les équipes de Nextron Systems ont parallèlement publié des règles de détection Yara et Sigma.

Pour approfondir sur Gestion des vulnérabilités et des correctifs (patchs)