Vulnérabilité dans OverlayFS permettant l'élévation des privilèges

Une vulnérabilité a été identifiée dans le noyau Linux dans l'implémentation du système de fichiers OverlayFS (CVE-2023-0386), qui peut être utilisé pour obtenir un accès root sur les systèmes sur lesquels le sous-système FUSE est installé et permettre le montage de partitions OverlayFS par un utilisateur non privilégié. utilisateur (à partir du noyau Linux 5.11 avec l'inclusion d'un espace de noms d'utilisateur non privilégié). Le problème a été corrigé dans la branche du noyau 6.2. La publication des mises à jour de paquets dans les distributions peut être suivie sur les pages : Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

L'attaque est effectuée en copiant des fichiers avec des drapeaux setgid/setuid d'une partition montée en mode nosuid vers une partition OverlayFS qui a une couche associée à la partition qui permet aux fichiers suid de s'exécuter. La vulnérabilité est similaire au problème CVE-2021-3847 identifié en 2021, mais diffère par des exigences d'exploitation inférieures - l'ancien problème nécessitait une manipulation avec xattrs, qui se limite à l'utilisation d'espaces de noms d'utilisateurs (espace de noms d'utilisateurs), et le nouveau problème utilise des bits setgid /setuid qui ne sont pas spécifiquement gérés dans l'espace de noms d'utilisateur.

Algorithme d'attaque :

  • À l'aide du sous-système FUSE, un système de fichiers est monté dans lequel se trouve un fichier exécutable appartenant à l'utilisateur root avec les drapeaux setuid / setgid, disponible pour tous les utilisateurs en écriture. Lors du montage, FUSE définit le mode sur "nosuid".
  • Annulez le partage des espaces de noms d'utilisateur et des points de montage (espace de noms utilisateur/montage).
  • OverlayFS est monté avec le FS précédemment créé dans FUSE comme couche inférieure et la couche supérieure basée sur le répertoire inscriptible. Le répertoire de la couche supérieure doit être situé dans un système de fichiers qui n'utilise pas l'indicateur "nosuid" lorsqu'il est monté.
  • Pour un fichier suid dans la partition FUSE, l'utilitaire touch modifie l'heure de modification, ce qui entraîne sa copie dans la couche supérieure d'OverlayFS.
  • Lors de la copie, le noyau ne supprime pas les drapeaux setgid/setuid, ce qui fait apparaître le fichier sur une partition qui peut être traitée par setgid/setuid.
  • Pour obtenir les droits root, il suffit d'exécuter le fichier avec les drapeaux setgid/setuid depuis le répertoire attaché à la couche supérieure d'OverlayFS.

De plus, nous pouvons noter la divulgation par des chercheurs de l'équipe Google Project Zero d'informations sur trois vulnérabilités qui ont été corrigées dans la branche principale du noyau Linux 5.15, mais qui n'ont pas été portées sur les packages du noyau de RHEL 8.x/9.x et Flux CentOS 9.

  • CVE-2023-1252 - Accéder à une zone mémoire déjà libérée dans la structure ovl_aio_req tout en effectuant plusieurs opérations en même temps dans OverlayFS déployé au-dessus du système de fichiers Ext4. Potentiellement, la vulnérabilité vous permet d'augmenter vos privilèges dans le système.
  • CVE-2023-0590 - Se référant à une zone mémoire déjà libérée dans la fonction qdisc_graft(). L'opération est supposée être limitée à l'abandon.
  • CVE-2023-1249 - Accès à une zone de mémoire déjà libérée dans le code d'entrée de coredump en raison de l'appel mmap_lock manquant dans file_files_note. L'opération est supposée être limitée à l'abandon.

Source: opennet.ru

Ajouter un commentaire