Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ Macbidouille Articles & News : Vos Réactions _ Une faille touchant la commande Sudo touche aussi les Mac

Écrit par : Lionel 4 Feb 2021, 13:47

Si vous êtes un adepte du Terminal, vous connaissez certainement la commande Sudo permettant d'exécuter des commandes en mode administrateur.
Une faille baptisée sous le nom de CVE-2021-3156 a été découverte dans cette commande sous Linux et BSD.
On apprend maintenant qu'elle touche également macOS, dont les dernières versions Big Sur.

Grâce à elle (ou à cause d'elle) on peut exécuter depuis le Terminal une commande avec une escalade de droits permettant de le faire en super administrateur même avec un compte limité ou invité.
Il faut toutefois avoir un accès physique à la machine, ce qui en limite beaucoup l'impact.

http://macbidouille.com/news/2021/02/04/une-faille-touchant-la-commande-sudo-touche-aussi-les-mac


Écrit par : uhflirug 4 Feb 2021, 13:59

dent:~ lionel$ env -i ‘AA=a\’ ‘B=b\’ ‘C=c\’ ‘D=d\’ ‘E=e\’ ‘F=f’ sudoedit -s ‘1234567890123456789012\’
env: sudoedit: No such file or directory

Écrit par : iAPX 4 Feb 2021, 20:37

Citation (Lionel @ 4 Feb 2021, 07:47) *
Si vous êtes un adepte du Terminal, vous connaissez certainement la commande Sudo permettant d'exécuter des commandes en mode administrateur.
Une faille baptisée sous le nom de CVE-2021-3156 a été découverte dans cette commande sous Linux et BSD.
On apprend maintenant qu'elle touche également macOS, dont les dernières versions Big Sur.

Grâce à elle (ou à cause d'elle) on peut exécuter depuis le Terminal une commande avec une escalade de droits permettant de le faire en super administrateur même avec un compte limité ou invité.
Il faut toutefois avoir un accès physique à la machine, ce qui en limite beaucoup l'impact.

Non, pas besoin d'accès physique à la machine, il suffit d'un accès distant au Terminal, soit directement (ssh / Remote Login) soit indirectement via une session distante (Remote Management avec Remote Desktop). D'autres outils de prise de contrôle distant peuvent aussi permettre un tel accès.

C'est une faille extrêmement sérieuse sur beaucoup de Unix-like, qui m'amène énormément de questions, notamment sur le peer-review, l'audit de sécurité, et ultimement sur le niveau de sécurité réel.

Écrit par : chombier 4 Feb 2021, 20:41

Citation (iAPX @ 4 Feb 2021, 20:37) *
C'est une faille extrêmement sérieuse sur beaucoup de Unix-like, qui m'amène énormément de questions, notamment sur le peer-review, l'audit de sécurité, et ultimement sur le niveau de sécurité réel.

C'est pas comme si tous les systèmes d'exploitation étaient truffés de failles de sécurité... biggrin.gif

Écrit par : iAPX 4 Feb 2021, 20:43

Citation (chombier @ 4 Feb 2021, 14:41) *
Citation (iAPX @ 4 Feb 2021, 20:37) *
C'est une faille extrêmement sérieuse sur beaucoup de Unix-like, qui m'amène énormément de questions, notamment sur le peer-review, l'audit de sécurité, et ultimement sur le niveau de sécurité réel.

C'est pas comme si tous les systèmes d'exploitation étaient truffés de failles de sécurité... biggrin.gif

C'est les omelettes que je préfère truffées laugh.gif

Écrit par : linus 4 Feb 2021, 21:35

avec les serveurs sécurisés et leur code open source vérolé, on avait touché le fond pensait on.
avec spectre et meltdown, on a creusé plus profond.
avec CVE-2021-3156 on creuse encore
l'avenir est plein de promesses !

Écrit par : Ptitboul 5 Feb 2021, 08:20

Citation (uhflirug @ 4 Feb 2021, 14:59) *
dent:~ lionel$ env -i ‘AA=a\’ ‘B=b\’ ‘C=c\’ ‘D=d\’ ‘E=e\’ ‘F=f’ sudoedit -s ‘1234567890123456789012\’
env: sudoedit: No such file or directory


Certes, mais essaie aussi ceci, qui devrait répondre un segmentation fault.
ln -s /usr/bin/sudo /tmp/sudoedit
/tmp/sudoedit -s '\' `perl -e 'print "A" x 65536'`

Écrit par : patrick_a_a 5 Feb 2021, 13:00

Bonjour,

Avec mon MBP 15 2010, je suis sous Snow leopard (10.6).

Suite aux soucis précédents de bash, je l'ai mis à jour via HomeBrew.

D'où l'état :

Code
bash --version
GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin10.8.0)


et en faisant les manipulations, j'obtiens :
Code
ln -s /usr/bin/sudo /tmp/sudoedit

env -i ‘AA=a\’ ‘B=b\’ ‘C=c\’ ‘D=d\’ ‘E=e\’ ‘F=f’ /tmp/sudoedit -s ‘1234567890123456789012\’

sudoedit: ‘1234567890123456789012’ unchanged



/tmp/sudoedit -s '\' `perl -e 'print "A" x 65536'`
AAAAA..........AAAAA: File name too long
sudoedit: \ unchanged


Si cela peut servir ...

Écrit par : iAPX 5 Feb 2021, 13:41

+100

Écrit par : zero 5 Feb 2021, 14:40

Patrick est-ce que tu peux nous rappeler la procédure pour mettre à jour le terminal ?
D'après ce que je me souviens, il faut xcode qui n'est plus dispo pour les anciennes versions de MacOS.

Écrit par : maclinuxG4 5 Feb 2021, 15:11

le problème pour sudo, c'est que toutes les versions de mac os sont compromises (si accessible physiquement )
cela me rappelle un patch sur la 10.6.8du meme genre sur le login, en local...Ouille on recommence
https://www.macminivault.com/shellshock/

mojave 10.4.6:
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
Copyright © 2007 Free Software Foundation, Inc.

Écrit par : Mac Arthur 5 Feb 2021, 15:20

Sont touchées sans doute...
Impactées, mis à toutes les sauces depuis quelque temps, suppose un projectile... tongue.gif

Écrit par : Ptitboul 5 Feb 2021, 18:56

Citation (patrick_a_a @ 5 Feb 2021, 14:00) *
Avec mon MBP 15 2010, je suis sous Snow leopard (10.6).


Oui, en effet, ce que j'ai décrit ne marche que sur les macOS récents.

Les versions antédiluviennes de sudo n'ont pas cette faille.
Comme le dit https://www.sudo.ws/alerts/unescape_overflow.html "Sudo versions 1.7.7 through 1.7.10p9, 1.8.2 through 1.8.31p2, and 1.9.0 through 1.9.5p1 are affected."

Par exemple, sous 10.11.6 c'est sudo version 1.7.10p9, donc supposée vulnérable, mais la commande que j'ai écrit ne fait pas de segmentation fault.
Je suppose que pour les versions 1.7 la faille s'exploite différemment.

Et pour Snow Leopard, que tu mentionnes, d'après https://opensource.apple.com/release/mac-os-x-1068.html qui envoie sur https://opensource.apple.com/source/sudo/sudo-46/src/version.h.auto.html c'est la version 1.7.0 donc non vulnérable.

Écrit par : iAPX 5 Feb 2021, 19:10

En rapport avec ce que @patrick_a_a écrivait, mais aussi mes usages, HomeBrew supporte les Mac Apple Silicon depuis aujourd'hui tongue.gif

Écrit par : patrick_a_a 5 Feb 2021, 23:51

Citation (zero @ 5 Feb 2021, 14:40) *
Patrick est-ce que tu peux nous rappeler la procédure pour mettre à jour le terminal ?
D'après ce que je me souviens, il faut xcode qui n'est plus dispo pour les anciennes versions de MacOS.


Réponse demain samedi.
Je vérifie avant d'envoyer sur de possibles fausses pistes.

Je vais exploser mon compteur de posts !

Écrit par : baron 6 Feb 2021, 00:42

Citation (Ptitboul @ 5 Feb 2021, 18:56) *
Et pour Snow Leopard, que tu mentionnes, d'après https://opensource.apple.com/release/mac-os-x-1068.html qui envoie sur https://opensource.apple.com/source/sudo/sudo-46/src/version.h.auto.html c'est la version 1.7.0 donc non vulnérable.

J'ai bien fait d'attendre pour les mises à jour ! biggrin.gif

Écrit par : patrick_a_a 6 Feb 2021, 13:47

Citation (zero @ 5 Feb 2021, 14:40) *
Patrick est-ce que tu peux nous rappeler la procédure pour mettre à jour le terminal ?
D'après ce que je me souviens, il faut xcode qui n'est plus dispo pour les anciennes versions de MacOS.

Je n'ai pas eu de difficultés pour installer XCode après coup, car il est présent sur le DVD d’installation "Mac OS X Install DVD", dans le dossier "Installations facultatives".
Ce dossier contient un mpkg XCode, mais aussi un mpkg "Optionnal Installs", qui permet d'installer Rosetta.
En cas de besoin, vous pourrez trouver une image disque d'installation de 10.6 dans la toile (archive.org), mais elles sont parfois modifiées pour fonctionner avec des Hackintoshs, donc ne pas hésiter à télécharger différentes versions pour les comparer et utiliser uniquement l'installation de XCode dont les dates de création et modification sont bien d'août 2009 !

Après cette installation simple, le souci se corse pour Homebrew.

La force et faiblesse de Homebrew est qu'il part des sources pour générer des binaires spécifiques à chaque version de Mac OS, ainsi que des bibliothèques dynamiques, donc avec des répertoires prédéfinis. C'est une réplication des installations de base, dans des dossiers prioritaires dans le PATH (/usr/local/bin, …) de l'utilisateur, mais sans écraser les binaires installés par le système (/usr/bin, …) qui sont utilisés par le système.

Quand je l'ai installé en juin 2017, il était "compatible" avec 10.6 (Snow Leopard).
Compatible dans le sens où il cible les versions Mac OS 10.10 à 10.12 (yosemite, el capitan et sierra), mais les formules d'installation contenaient toujours des conditions pour assurer la compatibilité avec 10.6 et ciblaient des versions des sources des outils en grande partie compatibles avec 10.6.
Dans cette configuration, je peux toujours installer des outils, même dans des versions récentes :
- curl 7.74.0 (x86_64-apple-darwin10.8.0) avec Release-Date: 2020-12-09
- OpenSSL/1.0.2u avec date: 20 Dec 2019
- find (GNU findutils) 4.7.0 avec date: 2019-09-29


Depuis, bien évidemment, Homebrew est configuré pour 10.14 (Mojave), avec une compatibilité non assurée à partir de 10.9.

La documentation d'installation est dans https://docs.brew.sh/Installation.

Pour les versions antérieures, Homebrew fait référence à TigerBrew (https://github.com/mistydemeo/tigerbrew), qui contient bien quelques conditions spécifiques à 10.6.
Sinon, une discussion intéressante, mais bien plus complexe, dans le fil :
https://apple.stackexchange.com/questions/280203/install-old-version-of-homebrew-on-snow-leopard

Vous comprendrez bien que je n'ai pas fait l'installation de ces nouvelles solutions, ne pas réparer quelque chose qui fonctionne correctement (avec les derniers patches de sécurité).

Lors de la création / installation d'outils binaires en ligne de commande, curl et git sont souvent employés.
J'utilise curl par ailleurs. C'est le premier à devoir être installé par brew, car la version du système a des certificats obsolètes.
Cette installation installe aussi OpenSSL, corrigeant des failles et recréant un environnement de certificats utilisables en 10.6.

En espérant ne pas avoir fait fuir trop de demandeurs de ces informations !

Écrit par : Patrice Brousseau 9 Feb 2021, 00:42

Il semble y avoir des packages binaires mis à jour ici: https://www.sudo.ws/download.html#binary

Écrit par : zero 9 Feb 2021, 06:21

Ce qui est malheureux avec les Mac c'est que lorsque Apple abandonne les anciens Mac de quelques années, la plupart de la communauté suit le mouvement assez rapidement. Et c'est compréhensible car Apple fait tout pour que ce soit pénible de ne pas suivre la cadence.

Écrit par : downanotch 9 Feb 2021, 21:40

Correctif disponible : https://support.apple.com/en-us/HT212177

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)