Connexion
Abonnez-vous

Baron Samedit : une faille vieille de dix ans dans Sudo met les distributions Linux en danger

Baron Samedit : une faille vieille de dix ans dans Sudo met les distributions Linux en danger

Le 28 janvier 2021 à 09h51

Identifiée CVE-2021-3156, il s’agit d’une vieille faille découverte il y a deux semaines seulement par la société d’audit de sécurité Qualys. L’information est remontée immédiatement aux développeurs, qui ont rapidement colmaté la brèche avec la version 1.9.5p2.

Comme toute faille un tant soit peu importante aujourd’hui, elle a un petit nom : Baron Samedit, en référence à l’entité psychopompe du vaudou. Et la vulnérabilité est dangereuse : elle permet à un pirate de gagner des droits root s’il réussit à accéder à un compte aux privilèges faibles, même s’il n’est pas listé dans /etc/sudoers, qui contient les utilisateurs autorisés à se servir des commandes su ou sudo.

Ce qui rend la faille si importante, c’est sa facilité d’exploitation et sa longévité. Ce qui est au départ un bug a été introduit dans le code sudo en juillet 2011, soit il y aura bientôt dix ans. En informatique, une vraie éternité.

Qualys ne sait pas si la vulnérabilité a été exploitée durant cette période. La société a pu développer avec succès du code d’exploitation pour Ubuntu 20.04 (Sudo 1.8.31), Debian 10 (Sudo 1.8.27) et Fedora 33 (Sudo 1.9.2), et il n’y aucune raison pour que les autres systèmes embarquant sudo soient épargnés.

Selon Qualys, Baron Samedit peut être transformé en arme et participer à une attaque en deux temps. L’exploitation peut ainsi être automatisée après l’obtention d’un premier compte en cassant sa protection par force brute. Avec les droits root, tout est ensuite possible.

Il est chaudement recommandé aux utilisateurs de mettre à jour leur système le plus rapidement possible. Il est en fait possible que votre distribution soit déjà à jour si vous l’avez redémarrée au moins une fois au cours des derniers jours, mais au vu du danger, une petite vérification s’impose. 

Pour être exact, il y a eu deux failles supplémentaires découvertes dans sudo récemment, CVE-2019-14287 et CVE-2019-18634. Mais elles sont beaucoup plus complexes à exploiter, car elles réclament des configurations très spécifiques et non standard de sudo.

Le 28 janvier 2021 à 09h51

Commentaires (28)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar

A noter que Ubuntu a patché les versions en cours de sudo et n’a pas utilisé la dernière version (par exemple c’est la version 1.8.31-1ubuntu1.2 pour ubuntu 20.04)
https://ubuntu.com/security/CVE-2021-3156



On peux savoir si l’exploit est utilisable sur sa machine en tapant:



sudoedit -s '\' perl -e 'print "A" x 65536'


Si ca réponds Usage:… c’est que c’est patché

votre avatar

Merci de ton indication pour test.



Sur ma machine (de taff :transpi:) le retour est “Erreur de segmentation (core dumped)”
Ça correspond à un exploit avec succès ?

votre avatar

J’ai le regret de te dire que oui :D

votre avatar

Fais chier je vais finalement devoir mettre à jour ma machine, j’ose espérer que le correctif est dispo même sur une base Ubuntu 16.04 (don’t judge, not my choice :craint:)

votre avatar

La 16.04 est LTS donc 5 ans de support (fin avril 2021) sauf si ta boite paye pour le support ESM, dans ce cas : avril 2024

votre avatar

Normalement c’est corrigé dans la 16.04 (et meme dans la 14.04)
Ubuntu 16.04 LTS (Xenial Xerus) Released (1.8.16-0ubuntu1.10)

votre avatar

:inpactitude:

votre avatar

J”ai ça :



usage: sudoedit [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-u user] file ...


Ou ça me demande des droits root avec un -S.

votre avatar

Comme dit par @Jos, c’est que tu n’es pas vulnérable.

votre avatar

J’avais mal lu :transpi: :transpi: Merci

votre avatar

Oui si ca réponds “usage” c’est patché

votre avatar

La commande ne fonctionne pas sur macOS.



sudoedit -s '\' perl -e 'print "A" x 65536'
zsh: command not found: sudoedit



J’ai cette version de sudo :



sudo --version
Sudo version 1.8.31
Sudoers policy plugin version 1.8.31
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.31


Du coup je ne sais pas si mon sudo est compromis…



Sur mon NAS (DS920+), c’est cette version :



Sudo version 1.8.20p2
Sudoers policy plugin version 1.8.20p2
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.20p2
votre avatar

(reply:1851100:Jos) Merci pour ton code de vérification, ce serait bien que l’auteur de la brève la joute dans l’article pour plus de visibilité car c’est utile pour les gens.


votre avatar

J’ai refait hier le niveau Egyptian dans GoldenEye, je comprends pourquoi l’objectif defeat baron samedi ? est une question.



Vous l’aurez peut-être ce coup-ci, mais il reviendra en faisant un Mwahahahahaha !

votre avatar

Ce jeu, magnifique ! Je flippais de me fighter avec lui parce qu’il réapparaissait. De souvenir on avait le golden gun dans ce monde.

votre avatar

Version corrigée disponible depuis avant-hier sur Arch Linux, donc c’est bon pour moi. :yes:

votre avatar

la commande semble ne pas fonctionner sur UnRaid

votre avatar

Baron samedi… sa femme est Maman Brigitte



Encore un mauvais coup de Macron ça :fumer:

votre avatar

Faut déjà un accès shell à la machine (ou une faille qui fait comme si).
Mais sur des machines multi-utilisateurs, c’est touchy.

votre avatar

Jos a dit:


A noter que Ubuntu a patché les versions en cours de sudo et n’a pas utilisé la dernière version (par exemple c’est la version 1.8.31-1ubuntu1.2 pour ubuntu 20.04) https://ubuntu.com/security/CVE-2021-3156



On peux savoir si l’exploit est utilisable sur sa machine en tapant:



sudoedit -s ‘\’ perl -e 'print "A" x 65536'



Si ca réponds Usage:… c’est que c’est patché


Merci pour l’information.

votre avatar

@Jos @Gorom merci pour les confirmations :inpactitude:

votre avatar

Euh… Komment kon devient sudo/root je pige pas le truc.
Une bonne ame pour donner le tuto ?
Faut que j’essaie ca sur mes machines debian de TP, je sooferai le compte d’un étudiant ! ;)
:chinois:

votre avatar

sudoedit -s ‘\’ perl -e 'print "A" x 65536'
malloc(): corrupted top size
Abandon



Bon, en noob j’ai tenté un ‘sudo su -’ direct mais je me suis fait virer. :non:

Fais suer je vais quand même pas utiliser le vrai root ? (ou mon compte sudo bourdel) :fumer:

votre avatar

On ne fait pas de « sudo su », mais un « sudo -i » ou un « su - ».

votre avatar

(quote:1851529:Trit’)
On ne fait pas de « sudo su », mais un « sudo -i » ou un « su - ».


Ok éventuellement pour le ‘sudo -i’,
mais ‘su -’ c’est pas pareil ! Faut connaitre le root ! :langue:

votre avatar

euh, j’ai pas bien pigé ta question
le souci, c’est que la faille permet de passer root (ou de faire un sudo) alors que l’utilisateur exécutant la commande n’a pas les droits
si ton “sudoedit -s ….” à crashé sur un malloc, c’est qu’il n’a pas été bloqué par la correction, donc le poste en question est vulnérable, un compte qui n’est pas dans les sudoers pourrait quand même exécuter des commander sensibles …



edit :
la commande n’est pas à exécuter en tant que root, ça n’aurait aucun intérêt, donc je pige pas pourquoi tu veux faire du “sudo su” ou autres joyeusetés

votre avatar

Il essaye d’exploiter la faille.
Mais c’est pas juste en faisant un sudo (ou su) que ça fonctionne (je pense qu’on l’aurait vu avant sinon, quand même :transpi:).



Le type de commande à passer est de ce genre : env -i ‘AA=a\’ ‘B=b\’ ‘C=c\’ ’D=d\’ ‘E=e\’ ‘F=f’ sudoedit -s ‘1234567890123456789012\’

votre avatar

ah ok
comme il utilisait la commande “de test” j’y avais pas pensé :D

Baron Samedit : une faille vieille de dix ans dans Sudo met les distributions Linux en danger

Fermer