La vulnérabilité iSCSI du noyau Linux permet une élévation de privilèges

Récemment informations importantes sur l'identification de une vulnérabilité (répertorié comme CVE-2021-27365) dans le code du sous-système iSCSI Noyau Linux qui permet à un utilisateur local non privilégié d'exécuter du code au niveau du noyau et d'obtenir les privilèges root sur le système.

Le problème est causé par un bug dans la fonction du module libiscsi iscsi_host_get_param (), introduit en 2006 lors du développement du sous-système iSCSI. En raison du manque de contrôles de dimensionnement appropriés, certains attributs de chaîne iSCSI, tels que le nom d'hôte ou le nom d'utilisateur, peuvent dépasser la valeur PAGE_SIZE (4 Ko).

La vulnérabilité pourrait être exploitée en envoyant des messages Netlink par un utilisateur non privilégié qui définit les attributs iSCSI sur des valeurs supérieures à PAGE_SIZE. Lors de la lecture de données d'attributs via sysfs ou seqfs, le code est appelé pour transmettre les attributs à sprintf afin qu'ils soient copiés dans un tampon de taille PAGE_SIZE.

Le sous-système particulier en question est le transport de données SCSI (Small Computer System Interface), qui est une norme de transfert de données permettant de connecter des ordinateurs à des périphériques, à l'origine via un câble physique, comme des disques durs. SCSI est une norme vénérable publiée à l'origine en 1986 et était la norme d'or pour les configurations de serveur, et iSCSI est essentiellement SCSI sur TCP. SCSI est encore utilisé aujourd'hui, en particulier dans certaines situations de stockage, mais comment cela devient-il une surface d'attaque sur un système Linux par défaut?

Exploiter la vulnérabilité dans les distributions dépend de la prise en charge du chargement automatique des modules du noyau scsi_transport_iscsi lors de la tentative de création d'un socket NETLINK_ISCSI.

Dans les distributions où ce module se charge automatiquement, l'attaque peut être menée quelle que soit l'utilisation de la fonctionnalité iSCSI. Dans le même temps, pour une utilisation réussie de l'exploit, l'enregistrement d'au moins un transport iSCSI est en outre requis. À son tour, pour enregistrer un transport, vous pouvez utiliser le module du noyau ib_iser, qui est chargé automatiquement lorsqu'un utilisateur non privilégié tente de créer un socket NETLINK_RDMA.

Chargement automatique des modules requis pour utiliser l'exploit prend en charge CentOS 8, RHEL 8 et Fedora en installant le package rdma-core sur le système, qui est une dépendance pour certains packages populaires et est installé par défaut dans les configurations pour les postes de travail, les systèmes de serveur avec interface graphique et la virtualisation des environnements hôtes.

Dans le même temps, rdma-core n'est pas installé lors de l'utilisation d'une version de serveur qui ne fonctionne qu'en mode console et lors de l'installation d'une image d'installation minimale. Par exemple, le package est inclus dans la distribution de base de Fedora 31 Workstation, mais pas dans Fedora 31 Server.

Debian et Ubuntu sont moins sensibles au problèmecar le paquet rdma-core ne charge les modules du noyau nécessaires à une attaque que si le matériel RDMA est disponible. Cependant, le package Ubuntu côté serveur inclut le package open-iscsi, qui inclut le fichier /lib/modules-load.d/open-iscsi.conf pour garantir que les modules iSCSI sont chargés automatiquement à chaque démarrage.

Un prototype fonctionnel de l'exploit est disponible pour essayez le lien ci-dessous.

La vulnérabilité a été corrigée dans les mises à jour du noyau Linux 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 et 4.4.260. Les mises à jour des packages du noyau sont disponibles sur les distributions Debian (oldstable), Ubuntu, SUSE / openSUSE, Arch Linux et Fedora, alors qu'aucun correctif n'a encore été publié pour RHEL.

Aussi, dans le sous-système iSCSI deux vulnérabilités moins dangereuses ont été corrigées qui peut conduire à une fuite de données du noyau: CVE-2021-27363 (fuite d'informations sur le descripteur de transport iSCSI via sysfs) et CVE-2021-27364 (lecture à partir d'une région en dehors des limites de la mémoire tampon).

Ces vulnérabilités peuvent être exploitées pour communiquer via une socket de liaison réseau avec le sous-système iSCSI sans les privilèges nécessaires. Par exemple, un utilisateur non privilégié peut se connecter à iSCSI et envoyer une commande de déconnexion.

source: https://blog.grimm-co.com


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.