Vulnérabilité dans OverlayFS permettant d'élever ses 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), pouvant être exploitée pour obtenir un accès root sur les systèmes où le sous-système FUSE est installé et où le montage des partitions OverlayFS est autorisé pour les utilisateurs non privilégiés (à partir du noyau Linux 5.11 avec activation des espaces de noms d'utilisateur non privilégiés). Le problème a été résolu dans la branche du noyau 6.2. Les publications de mises à jour des paquets dans les distributions peuvent être suivies sur les pages suivantes : Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

L'attaque est réalisée en copiant des fichiers avec les drapeaux setgid/setuid d'une partition montée en mode nosuid vers une partition OverlayFS, ayant une couche liée à une partition permettant l'exécution de fichiers suid. La vulnérabilité est proche du problème CVE-2021-3847, découvert en 2021, mais exige des conditions d'exploitation plus faibles — dans l'ancien problème, des manipulations avec les xattrs étaient nécessaires, qui sont limitées lors de l'utilisation des espaces de noms d'identifiants utilisateur, alors que dans le nouveau problème, des bits setgid/setuid sont utilisés, qui ne sont pas spécifiquement traités dans l'espace de noms d'utilisateur.

L'algorithme d'exécution de l'attaque :

  • À l'aide du sous-système FUSE, un système de fichiers est monté, contenant un fichier exécutable appartenant à l'utilisateur root avec des drapeaux setuid/setgid, accessible à tous les utilisateurs en écriture. Lors du montage, FUSE applique le mode « nosuid ».
  • Les espaces de noms utilisateurs et de points de montage sont annulés (unshare).
  • OverlayFS est monté en spécifiant le système de fichiers précédemment créé dans FUSE comme couche inférieure et une couche supérieure basée sur un répertoire autorisant l'écriture. Le répertoire de la couche supérieure doit résider dans le système de fichiers, lors du montage duquel le drapeau « nosuid » n'est pas utilisé.
  • Pour un fichier suid dans la partition FUSE, l'outil touch modifie l'heure de modification, entraînant sa copie dans la couche supérieure d'OverlayFS.
  • Lors de la copie, le noyau ne retire pas les drapeaux setgid/setuid, ce qui fait que le fichier apparaît dans la partition permettant le traitement des setgid/setuid.
  • Pour obtenir des droits root, il suffit d'exécuter le fichier avec les drapeaux setgid/setuid à partir du répertoire attaché à la couche supérieure d'OverlayFS.

Il convient également de noter que des chercheurs de l'équipe Google Project Zero ont révélé des 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é transférées dans les paquets de noyau de RHEL 8.x/9.x et CentOS Stream 9.

  • CVE-2023-1252 — accès à une zone mémoire déjà libérée dans la structure ovl_aio_req lors de l'exécution simultanée de plusieurs opérations dans OverlayFS, déployée sur un FS Ext4. Potentiellement, la vulnérabilité permet d'augmenter ses privilèges dans le système.
  • CVE-2023-0590 — accès à une zone mémoire déjà libérée dans la fonction qdisc_graft(). Il est supposé que l'exploitation se limite à un arrêt d'urgence.
  • CVE-2023-1249 — accès à une zone mémoire déjà libérée dans le code d'enregistrement coredump, résultant d'un appel mmap_lock manqué dans file_files_note. Il est supposé que l'exploitation se limite à un arrêt d'urgence.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster