Une vulnérabilité critique baptisée CIFSwitch permet d’obtenir les droits root sur plusieurs distributions Linux

Une vulnérabilité critique baptisée CIFSwitch permet d'obtenir les droits root sur plusieurs distributions Linux

Une faille récemment découverte dans le noyau Linux est une menace sérieuse. Baptisée CIFSwitch, cette vulnérabilité d’élévation de privilèges locaux pourrait offrir aux attaquants un accès complet au système.

Le problème réside dans le sous-système CIFS (Common Internet File System). Ce protocole réseau est utilisé par Linux pour accéder à des fichiers ou des dossiers situés sur d’autres machines d’un réseau local. Pour les connexions qui emploient Kerberos comme méthode d’authentification, le noyau délègue cette tâche à un programme externe.

Asim Viladi Oglu Manizada, un ingénieur en sécurité de SpaceX qui a identifié la faille, l’explique. Le noyau demande une clé de type cifs.spnego et le système de clés exécute alors l’outil cifs.upcall avec les droits d’administrateur pour obtenir les données d’authentification nécessaires.

Le défaut principal est que le sous-système CIFS du noyau ne vérifie pas si les requêtes pour ces clés proviennent bien du client CIFS légitime du noyau. Un utilisateur local sans privilèges peut donc forger une fausse requête et déclencher le processus d’authentification.

L’outil cifs.upcall, qui s’exécute avec les privilèges racine, fait ensuite confiance à des champs contrôlés par l’attaquant. En abusant de ces champs pour forcer un changement d’espace de noms, puis en provoquant une recherche Name Service Switch avant que les privilèges ne soient retirés, un attaquant peut charger un module NSS malveillant et exécuter du code en tant qu’administrateur.

Distributions concernées et correctifs

Cette vulnérabilité, qui existe depuis 2007, n’affecte pas tous les systèmes. Son exploitation dépend de plusieurs facteurs, comme une version du noyau vulnérable, une version vulnérable du paquet cifs-utils, la disponibilité des espaces de noms utilisateur et des politiques de sécurité comme SELinux ou AppArmor qui ne bloquent pas l’attaque.

Parmi les distributions dont la configuration par défaut est vulnérable, le chercheur cite notamment Linux Mint 21.3, CentOS Stream 9, Rocky Linux 9, AlmaLinux 9, Kali Linux 2021.4 à 2026.1 et SLES 15 SP7. D’autres versions d’Ubuntu, Debian ou openSUSE peuvent aussi être touchées si le paquet cifs-utils est installé.

En revanche, des versions comme Ubuntu 26.04, Fedora 40-44 ou CentOS Stream 10 sont protégées par leurs paramètres SELinux ou AppArmor par défaut. Amazon Linux 2 et certaines anciennes versions de Kali Linux ne sont pas du tout affectées, car leurs paquets cifs-utils ne possèdent pas la fonctionnalité de changement d’espace de noms.

Un correctif pour le noyau a été publié. Il ajoute une validation de l’origine des requêtes cifs.spnego. Les versions du noyau qui intègrent ce correctif varient selon les distributions. Le chercheur conseille aux utilisateurs de désactiver le module CIFS s’il n’est pas utilisé, de supprimer le paquet cifs-utils s’il est inutile et de désactiver les espaces de noms utilisateur non privilégiés.

Manizada a rendu public un exploit de preuve de concept pour CIFSwitch. Cet outil peut aider les organisations à vérifier l’efficacité des correctifs qu’elles ont appliqués. Cette faille s’ajoute à une série de vulnérabilités d’élévation de privilèges récemment révélées sur Linux, comme Copy Fail ou Dirty Frag.