IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Une vulnérabilité avec un score CVSS de 10 a été découverte dans le noyau Linux, seuls les systèmes avec ksmbd activé sont concernés,
Une MAJ a été publiée pour sa correction

Le , par Bruno

15PARTAGES

4  0 
Une vulnérabilité du noyau Linux avec un score CVSS de 10 a été découverte dans le serveur SMB, donnant à un utilisateur non authentifié la possibilité d'exécuter le code à distance. Elle permet l'execution d'un code arbitraire sur les installations affectées. L'authentification n'est pas nécessaire pour exploiter cette vulnérabilité, mais seuls les systèmes avec ksmbd activé sont vulnérables. La faille spécifique existe dans le traitement des commandes SMB2_TREE_DISCONNECT. Le problème résulte de l'absence de validation de l'existence d'un objet avant d'effectuer des opérations sur cet objet. Un attaquant peut tirer parti de cette vulnérabilité pour exécuter du code dans le contexte du noyau. Linux a publié une mise à jour pour corriger cette vulnérabilité.

Le système CVSS (Common Vulnerability Scoring System), norme publiée utilisée par des organisations du monde entier, permet de saisir les principales caractéristiques d'une vulnérabilité et de produire un score numérique reflétant sa gravité. Ce score numérique peut ensuite être traduit en une représentation qualitative (telle que faible, moyenne, élevée et critique) afin d'aider les organisations à évaluer et à hiérarchiser correctement leurs processus de gestion des vulnérabilités.

Le CVSS se compose de trois groupes de mesures : Base, Temporel, et Environnemental. Les métriques de base produisent un score allant de 0 à 10, qui peut ensuite être modifié en notant les métriques temporelles et environnementales. Alors, un score de 10 n'est pas du tout rassurant.


Lorsque le démon serveur est lancé, il démarre un thread forker (ksmbd/nom d'interface) au moment de l'initialisation et ouvre un port dédié 445 pour écouter les demandes SMB. Chaque fois que de nouveaux clients font une demande, le thread forker accepte la connexion du client et crée un nouveau thread pour un canal de communication dédié entre le client et le serveur. Cela permet de traiter en parallèle les demandes SMB (commandes) des clients et de permettre aux nouveaux clients d'établir de nouvelles connexions.

Selon le type de demande SMB, chaque nouveau thread peut décider de passer les commandes à l'espace utilisateur (ksmbd.mountd), actuellement les commandes DCE/RPC sont identifiées pour être traitées par l'espace utilisateur. Pour mieux utiliser le noyau linux, il a été choisi de traiter les commandes en tant que workitems et de les exécuter dans les handlers des threads ksmbd-io kworker. Cela permet de multiplexer les gestionnaires car le noyau se charge d'initier des threads de travail supplémentaires si la charge augmente et vice versa, si la charge diminue, il détruit les threads de travail supplémentaires.

Ainsi, après que la connexion soit établie avec le client. Le ksmbd dédié/1..n(numéro de port) prend en charge la réception/le traitement des commandes SMB. Chaque commande reçue est traitée en parallèle, c'est-à-dire qu'il peut y avoir plusieurs commandes de clients qui sont traitées en parallèle. Après avoir reçu chaque commande, un workitemséparé du noyau est préparé pour chaque commande qui est ensuite mise en file d'attente pour être traitée par les kworkers ksmbd-io. Ainsi, chaque workitem SMB est mis en file d'attente vers les kworkers. Cela permet de bénéficier d'une gestion optimale de la répartition de la charge par le noyau et d'optimiser les performances du client en traitant les commandes du client en parallèle.

ksmbd a déclenché des signaux d'alarme chez certains utilisateurs qui discutaient de sa fusion l'année dernière. SerNet, une société informatique allemande qui propose sa propre version de Samba, a déclaré dans un billet de blog que ksmbd était impressionnant, mais qu'il semblait quelque peu immature. En outre, l'équipe Samba+ de SerNet a déclaré dans un billet de blog que la valeur de l'ajout d'un serveur SMB à l'espace noyau ne valait peut-être pas le risque de « tirer le dernier morceau de performance du matériel disponible. »

Développée par Samsung pour mettre en œuvre SMB3 côté serveur avec des performances optimisées et une empreinte plus petite, la vulnérabilité de ksmbd pourrait conduire à une fuite de la mémoire d'un serveur SMB par un attaquant, similaire à l'attaque Heartbleed.

Heureusement, si vous n'exécutez pas le module ksmbd « expérimental » de Samsung, comme l'a décrit le chercheur en sécurité Shir Tamari sur Twitter, et que vous avez conservé Samba, vous êtes parfaitement protégé. « ksmbd est nouveau ; la plupart des utilisateurs utilisent toujours Samba et ne sont pas affectés. En gros, si vous n'exécutez pas de serveurs SMB avec ksmbd, profitez de votre week-end », a déclaré Tamari sur Twitter.


Selon la Zero-Day Initiative, qui a divulgué la vulnérabilité de ksmbd, la faille use-after-free existe dans le traitement des commandes SMB2_TREE_DISCONNECT. Selon ZDI, le problème est dû au fait que ksmbd ne valide pas l'existence des objets avant d'effectuer des opérations sur ceux-ci. Linux a publié une mise à jour pour corriger cette vulnérabilité. Elle également quelques autres problèmes dans ksmbd : une lecture hors limites pour SMB2_TREE_CONNECT, qui, selon la note de correction, pourrait permettre à des demandes invalides de ne pas valider les messages, et une fuite de mémoire dans smb2_handle_negotiate entraînant une libération incorrecte de la mémoire.

Source: Zero day initiative

Et vous ?

Quel est votre avis sur le sujet ?

Voir aussi :

Meta, la société mère de Facebook, va régler l'affaire Cambridge Analytica pour 725 millions de dollars, mais la société n'a pas fini d'entendre parler de ce scandale, car d'autres procès demeurent

La version 6.2 du noyau Linux laisserait prévoir de nombreuses améliorations du système de fichiers, dans le même temps, les systèmes de fichiers Linux de nouvelle génération n'avancent pas vite

Une erreur dans cette actualité ? Signalez-le nous !