Erreurs graves d’escalade de privilèges trouvées dans le gestionnaire de packages de Linux Snap
Erreurs graves d’escalade de privilèges trouvées dans le gestionnaire de packages de Linux Snap
Des experts ont découvert une vulnérabilité facilement exploitable dans Snap, un système mondial de conditionnement et de distribution d’applications conçu pour Ubuntu mais disponible sur de nombreuses distributions Linux. La faille permet à un utilisateur disposant de faibles privilèges d’exécuter du code malveillant en tant que root, qui est le compte administratif le plus élevé de Linux.
La vulnérabilité, nommée CVE-2021-44731, fait partie d’une série de bugs que les chercheurs de Qualys ont découverts dans plusieurs composants Linux lors de leur enquête de sécurité Snap. Ce dernier, ainsi que l’autre, appelé CVE-2021-44730, se trouve dans snap-confine, l’outil responsable de la création de bacs à sable pour l’application Snap.
Qu’est-ce que Snap ?
Snap est un gestionnaire de packages pour Linux développé par Canonical, à l’origine de la populaire distribution de bureau et de serveur Ubuntu. Il vous permet de conditionner et de distribuer des applications autonomes appelées « snaps » qui s’exécutent dans un conteneur restreint, offrant un niveau de sécurité configurable.
Vérifiez également :
En tant qu’applications autonomes, Snap n’a pas de dépendances externes, ce qui lui permet d’être multiplateforme et distribué sur plusieurs plateformes. Traditionnellement, toutes les principales distributions Linux maintiennent leur propre référentiel et gestionnaire de logiciels. Debian a DEB, Ubuntu a PPA, Fedora et Red Hat ont RPM, Arch Linux a Pacman, etc. Tous ces systèmes téléchargent le package requis avec toutes les autres dépendances en tant que packages distincts. Les Snaps, d’autre part, sont fournis avec toutes les dépendances dont vous avez besoin, ce qui les rend déployables à l’échelle mondiale sur tous les systèmes Linux équipés de Snap.
Snap est livré par défaut sur Ubuntu et de nombreuses distributions Linux, et est disponible en option sur de nombreuses autres distributions, y compris la majeure. Il est utilisé pour distribuer non seulement des applications de bureau, mais également des applications cloud et IoT.
Snap Confinement – ou Quarantine – a trois niveaux de sécurité, avec le mode strict utilisé par la plupart des applications. Dans ce mode, les applications doivent demander l’accès aux fichiers, à d’autres processus ou au réseau. Ce n’est pas différent du modèle de sandboxing de l’application et des autorisations des systèmes d’exploitation mobiles tels qu’Android.
Étant donné que le sandboxing des applications est l’une des principales fonctionnalités de Snap, toute vulnérabilité qui vous permet d’échapper à cet isolement et de prendre le contrôle du système hôte est considérée comme extrêmement dangereuse.
Erreurs d’escalade de privilèges
Les chercheurs de Qualys ont surnommé leur vulnérabilité limitée « Oh Snap ! More Lemmings » car elle ressemble à un autre éclair, découvert en 2019, appelé Dirty Sock. Depuis Dirty Sock, Snap a subi des audits de sécurité approfondis par l’équipe de sécurité SUSE et est généralement programmé de manière très défensive, tirant parti de plusieurs fonctionnalités de sécurité de base. Tels que les profils AppArmor, les filtres seccomp et les espaces de noms.
« Nous avons failli abandonner notre audit après quelques jours », ont déclaré les chercheurs de Qualys dans leur rapport, ajoutant qu' »une vulnérabilité limitée (en particulier dans l’installation par défaut d’Ubuntu) était extrêmement difficile à détecter et à exploiter ».
Cependant, l’équipe a remarqué quelques défauts mineurs et a décidé de passer à autre chose. Cela a abouti à la découverte de deux vulnérabilités d’élévation de privilèges : CVE-2021-44730, une attaque par lien physique qui ne peut être utilisée que dans des configurations non virtuelles, c’est-à-dire lorsque le fs.protected_hardlinks du noyau est 0 ; et CVE-2021-44731, qui est un état de concurrence pouvant être utilisé sur les installations virtuelles Ubuntu Desktop et les installations semi-virtuelles Ubuntu Server.
«Ce cas de course ouvre un monde de possibilités: à l’intérieur de l’espace de noms de montage de snap (que nous pouvons entrer via snap-confine lui-même), nous pouvons créer un répertoire inscriptible et non collant dans / tmp, ou nous pouvons monter n’importe quel autre répertoire qui fait partie du système de fichiers vers / tmp ”- disent les analystes de Qualysa. « Nous pouvons gagner de manière fiable cet état de course en observant /tmp/snap.lxd avec inotify, en installant notre exploit et en nous confinant au même processeur avec Sched_setaffinity(), et en abaissant la priorité de planification snap-cline avec setpriority() et schedule_schedule.( )” .
En enquêtant sur ces failles, les chercheurs de Qualys ont également découvert des bogues dans les bibliothèques et autres composants associés utilisés par Snap : montages non autorisés dans libmount util-linuxa (CVE-2021-3996 et CVE-2021-3995) ; Valeur de retour inattendue de realpath() glibc (CVE-2021-3998) ; Débordement/sortie de tampon via un dans getcwd() glibc (CVE-2021-3999) ; Récursivité incontrôlée dans les fichiers systemd-tmp (CVE-2021-3997). Ces bugs ont été corrigés dans ces composants plus tôt cette année.
Ubuntu a publié des correctifs pour CVE-2021-44731 et CVE-2021-44730 pour la plupart des versions de Linux qu’il prend en charge, à l’exception d’ESM 16.04 (Extended Security Maintenance), qui attend toujours des correctifs. Les deux vulnérabilités sont classées très dangereuses.
Source : OSC
.