Ils ont détecté une vulnérabilité dans ksmbd dans le noyau Linux

vulnérabilité

Si elles sont exploitées, ces failles peuvent permettre aux attaquants d'obtenir un accès non autorisé à des informations sensibles ou de causer des problèmes en général.

Des informations ont récemment été publiées selon lesquelles une vulnérabilité du noyau Linux a été découverte avec un score CVSS de 10 sur le serveur SMB, permettant à un utilisateur non authentifié d'exécuter du code à distance.

Le bogue trouvé permet à des attaquants distants d'exécuter du code arbitraire sur les installations affectées. L'authentification n'est pas requise 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 la non-validation de l'existence d'un objet avant d'effectuer des opérations sur cet objet. Un attaquant peut exploiter cette vulnérabilité afin d'exécuter du code dans le contexte du noyau.

DÉTAILS DE LA VULNÉRABILITÉ
Cette vulnérabilité permet à des attaquants distants d'exécuter du code arbitraire sur les installations affectées du noyau Linux. L'authentification n'est pas requise 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 est causé par le manque de validation de l'existence d'un objet avant d'effectuer des opérations sur l'objet. Un attaquant peut exploiter cette vulnérabilité afin d'exécuter du code dans le contexte du noyau.

Il est mentionné qu'en fonction du type de requête SMB, chaque nouveau thread peut décider de passer des commandes à l'espace utilisateur (ksmbd.mountd) ; actuellement, les commandes DCE/RPC sont identifiées pour être gérées par l'espace utilisateur. Pour mieux utiliser le noyau Linux, il a été décidé de traiter les commandes comme des éléments de travail et de les exécuter dans les gestionnaires de threads ksmbd -io kworker.

Cela permet aux gestionnaires de multiplexer car le noyau se charge de démarrer des threads de travail supplémentaires si la charge augmente et vice versa, si la charge diminue, il tue les threads de travail supplémentaires.

Lorsque le démon du serveur démarre, il démarre un thread fork (ksmbd/nom de l'interface) au démarrage et ouvre un port dédié 445 pour écouter les requêtes 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 aux demandes SMB (commandes) des clients d'être traitées en parallèle et permet aux nouveaux clients d'établir de nouvelles connexions.

ksmbd a soulevé des drapeaux rouges parmi certains utilisateurs qui ont discuté de leur fusion l'année dernière. SerNet, une société informatique allemande qui propose sa propre version de Samba, a déclaré dans un article de blog que ksmbd était génial, mais semblait un peu immature. De plus, l'équipe Samba + de SerNet a déclaré dans un article de blog que la valeur de l'ajout d'un serveur SMB à l'espace du noyau ne valait peut-être pas le risque de "supprimer la dernière partie des performances des éléments disponibles".

Heureusement, si vous n'utilisez pas le module ksmbd "expérimental" de Samsung, tel que décrit par le chercheur en sécurité Shir Tamari sur Twitter, et que vous avez conservé Samba, vous êtes parfaitement en sécurité. « ksmbd est nouveau ; la plupart des utilisateurs utilisent encore Samba et ne sont pas affectés. En gros, si vous n'utilisez pas de serveurs SMB avec ksmbd, profitez de votre week-end", a tweeté Tamari.

Selon l'Initiative Zero-Day, qui a révélé la vulnérabilité 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 d'objets avant d'effectuer des opérations sur eux.

Pour ceux qui utilisent ksmbd, il existe une solution de contournement en plus de passer à Samba : mettre à niveau vers la version 5.15.61 du noyau Linux, publiée en août, ou plus tard. Cette mise à jour du noyau corrige également quelques autres problèmes dans ksmbd : une lecture hors limites pour SMB2_TREE_CONNECT, qui, selon la note de mise à jour, pourrait permettre à des requêtes invalides de ne pas envoyer de messages, et une fuite de mémoire dans smb2_handle_negotiate provoquant une libération incorrecte. Mémoire.

enfin si tu es intéressé à en savoir plus, vous pouvez vérifier les détails dans le lien suivant.


Ajouter comme source préférée