Ils ont trouvé une vulnérabilité VFS sous Linux qui permet l'élévation des privilèges

Il ya quelques jours des nouvelles ont été publiées indiquant que la vulnérabilité avait été identifiée (déjà catalogué sous CVE-2022-0185) etn l'API de contexte de système de fichiers fourni par le noyau Linux ce qui pourrait permettre à un utilisateur local d'obtenir des privilèges root sur le système.

Il est mentionné que le problème est qu'un utilisateur sans privilèges peut obtenir de telles autorisations dans un conteneur isolé si la prise en charge des espaces de noms d'utilisateurs est activée sur le système.

Par exemple, les espaces de noms d'utilisateurs sont activés par défaut sur Ubuntu et Fedora, mais ne sont pas activés sur Debian et RHEL (sauf si des plates-formes d'isolation de conteneurs sont utilisées). En plus de l'élévation de privilèges, la vulnérabilité peut également être utilisée pour sortir d'un conteneur isolé si le conteneur dispose des droits CAP_SYS_ADMIN.

Vulnérabilité existe dans la fonction legacy_parse_param() dans VFS et est dû à un manque de validation appropriée de la taille maximale des paramètres fournis sur les systèmes de fichiers qui ne prennent pas en charge l'API de contexte de système de fichiers.

Récemment, plusieurs amis de mon équipe CTF Crusaders of Rust et moi avons rencontré un débordement de tas du noyau Linux de 0 jour. Nous avons trouvé le bogue en fuzzant avec syzkaller et l'avons rapidement développé en un exploit Ubuntu LPE. Nous l'avons ensuite réécrit pour échapper et rooter l'infrastructure CTF Kubernetes renforcée de Google. Ce bogue affecte toutes les versions du noyau depuis la 5.1 (la 5.16 est actuellement en cours) et a été attribué CVE-2022-0185. Nous l'avons déjà signalé à la liste de distribution Linux et à la liste de diffusion de sécurité, et le bogue a été corrigé à la publication de cet article.

Passer un paramètre trop grand peut provoquer un débordement de la variable entière utilisée pour calculer la taille des données en cours d'écriture ; le code a un contrôle de débordement de tampon "if (len > PAGE_SIZE - 2 - size)", qui ne fonctionne pas si la valeur de taille est supérieure à 4094 en raison d'un dépassement d'entier à travers la limite inférieure (débordement d'entier, lors de la conversion 4096 – 2 – 4095 en entier non signé, obtient 2147483648).

Ce bogue permet, lors de l'accès à une image FS spécialement conçue, provoquer un débordement de buffer et écraser les données du noyau suivant la zone mémoire allouée. Pour exploiter la vulnérabilité, les droits CAP_SYS_ADMIN, c'est-à-dire les droits d'administrateur, sont requis.

À partir de 2022, nos coéquipiers ont décidé de trouver un jour 0 en 2022. Nous ne savions pas exactement comment commencer, mais comme notre équipe connaissait très bien les vulnérabilités du noyau Linux, nous avons décidé d'acheter simplement des serveurs dédiés. et exécutez le fuzzer syzkaller de Google. Le 6 janvier à 22h30 PST, chop0 a reçu le rapport suivant d'un échec KASAN dans legacy_parse_param : slab-out-of-bounds Write in legacy_parse_param. Il semble que syzbot ait trouvé ce problème seulement 6 jours plus tôt lors du fuzzing d'Android, mais le problème n'a pas été traité et nous pensions naïvement que personne d'autre ne l'avait remarqué.

Enfin, il convient de mentionner que le problème se manifeste depuis la version 5.1 du noyau Linux et a été résolu dans les mises à jour publiées il y a quelques jours dans les versions 5.16.2, 5.15.16, 5.10.93, 5.4.173.

En plus que les mises à jour du package de vulnérabilité ont déjà été publiées pour RHELDebianfeutre et Ubuntu. Bien que la solution ne soit pas encore disponible dans Arch LinuxGentooSUSE y ouvrezSUSE.

Dans ce cas, il est mentionné qu'en tant que solution de sécurité pour les systèmes qui n'utilisent pas l'isolation des conteneurs, vous pouvez définir la valeur de sysctl "user.max_user_namespaces" sur 0 :

Le chercheur qui a identifié le problème a publié une démo d'un exploit que permet d'exécuter du code en tant que root sur Ubuntu 20.04 dans la configuration par défaut. Il est prévu que le code d'exploitation est publié sur GitHub dans la semaine qui suit que les distributions publient une mise à jour qui corrige la vulnérabilité.

Enfin si vous souhaitez en savoir plus, vous pouvez vérifier les détails dans le lien suivant


Le contenu de l'article adhère à nos principes de éthique éditoriale. Pour signaler une erreur, cliquez sur c'est par ici !.

Un commentaire, laissez le vôtre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

*

*

  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.

  1.   Galicien dit

    Raison de plus pour ne pas toucher au composant logiciel enfichable avec un bâton.