
Notes concernant CVE-2021-3156 : Dépassement de tampon basé sur le tas dans Sudo
Bonjour à tous,
Il y a quelques jours, un grave débordement de tas (heap-based buffer overflow) a été découvert dans sudo, exploitable par tout utilisateur local. Il a été nommé Baron Samedit par son découvreur. Ce bug peut être utilisé pour élever les privilèges jusqu'à root, même si l'utilisateur n'est pas listé dans le fichier sudoers. L'authentification de l'utilisateur n'est pas requise pour exploiter le bug. Il est communément appelé CVE-2021-3156.
Vous pouvez le voir en action ici, enregistré par plusieurs chercheurs en sécurité.
Les versions de sudo 1.8.2 à 1.8.31p2 et 1.9.0 à 1.9.5p1 sont concernées.
Gardez à l'esprit : Sauf si les correctifs ont été rétroportés, comme c'est le cas pour Ubuntu 18.04, où il peut ne pas être nécessaire d'avoir la 1.9.5p2
De TroyWolf
Pour les utilisateurs d'Ubuntu, la version de sudo corrigée semble liée à la version du système d'exploitation que vous utilisez. Le site Ubuntu présente ces informations spécifiques à chaque version pour la faille :
UTILISEZ AVEC PRUDENCE : Ouvrez votre terminal et utilisez sudo sudo -V pour vérifier votre numéro de version. Voir les notes ci-dessus pour les versions concernées et lisez la note.
Exécutez sudoedit -s / pour détecter si vous êtes vulnérable.
Vous pouvez aussi essayer :
sudoedit -s '\' `perl -e 'print "A" x 65536'`
bonyt de hackernews a souligné que macOS n'a pas sudoedit, mais vous pouvez créer un lien symbolique vers celui-ci, car sudo est en fait un binaire multi-appels :
ln -s `which sudo` sudoedit
puis l'appeler :
./sudoedit
Selon la réponse, il est possible de comprendre si l'hôte est vulnérable ou non :
Vulnérable si la réponse est une erreur commençant par sudoedit : sudoedit: /: not a regular file ou segfault
Non vulnérable ou corrigé si la réponse est une erreur commençant par usage:
Falco est le projet open-source de la CNCF pour la détection des menaces en runtime pour les conteneurs et Kubernetes.
Vous pouvez utiliser une règle pour détecter et empêcher qu'un utilisateur tente l'exploit.
pawan328 de hackernews a souligné que vous pouvez consulter cet article de blog pour plus de détails.
sudo apt-get update
sudo apt-get --only-upgrade install sudo
J'ai une vidéo qui discute de cela et montre toutes les méthodes présentées ci-dessus.
Ce qui couvre :
00:00 - Introduction
01:29 - Qu'est-ce qu'un CVE ?
02:22 - Quel est le bug ?
05:30 - Exploit montré en action
13:07 - Versions de sudo concernées
13:48 - WSL (Windows Subsystem for Linux)
15:11 - Détection de la vulnérabilité via sudo (WSL)
19:21 - Détection de la vulnérabilité via sudo (Ubuntu)
20:53 - Détection de la vulnérabilité via des commandes
24:58 - Que faire si vous utilisez K8s ou des conteneurs
27:54 - Examen des versions de sudo
28:30 - Correction de WSL
30:17 - Correction d'Ubuntu
32:09 - Où puis-je trouver exploit.c ?
33:59 - Correction d'Ubuntu (partie 2)
38:10 - Correction de WSL (partie 2)
46:35 - Résultats de recherche GitHub
47:28 - Correction de WSL (partie 3)
Je stream sur Twitch le mercredi à midi PST et le samedi/dimanche à 10h PST, ou vous pouvez regarder la version condensée en vous abonnant à ma chaîne YouTube.
Restez connecté avec moi sur les réseaux sociaux pour des actualités sur la sécurité et le développement logiciel.