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

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

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.

Commentaires (28)


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 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 ?


Citan666

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 ?


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


Jos

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


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:)


Citan666

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:)


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


Citan666

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:)


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)


:inpactitude:


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.


zefling

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.


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


tomdom

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


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


tomdom

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


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


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


(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.



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 !


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.


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


la commande semble ne pas fonctionner sur UnRaid


Baron samedi… sa femme est Maman Brigitte



Encore un mauvais coup de Macron ça :fumer:


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.



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.


@Jos @Gorom merci pour les confirmations :inpactitude:


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:


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:


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



(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:


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


fry

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


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\’


Mihashi

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\’


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


Fermer