2 votes

Que faire face à une récente vulnérabilité d'exécution de code à distance dans git (sur El Capitan)

Le récent exécution de code à distance Le bogue dans git semble assez sérieux. D'après ce que je comprends, si j'utilise un client git antérieur à la version 2.7.1, je suis susceptible d'exécuter du code à distance si j'utilise git pour interagir avec un dépôt malveillant (ou compromis). Il semble qu'une mise à jour manuelle du client git soit nécessaire, mais le rootless empêche des choses comme brew de fonctionner. (Je suis actuellement sur la dernière version stable de Xcode 7.2.1).

Quelle est la meilleure façon de procéder sous El Capitan ? Désactiver le rootless et installer avec brew ? Installer un client git mis à jour à partir des sources ? (le dernier binaire stable semble être antérieur à 2.7.1) Existe-t-il un client git mis à jour dans une version plus récente de Xcode ?

0 votes

Pourriez-vous modifier ce texte pour préciser ce que vous cherchez à faire ? Supprimer le binaire du client git ? En mettre un nouveau dans votre chemin ? Quelle est votre configuration. Servez-vous des dépôts git ? Utilisez-vous Xcode ? Ou cherchez-vous simplement à ce que quelqu'un vous dise qu'ElCapitan n'écoute pas git et n'est pas piratable ?

0 votes

Mise à jour. Le client git stable actuel (dans xcode et le binaire stable de git-scm) semble être antérieur à 2.7.1 et présente une vulnérabilité d'exécution de code à distance. Je cherche des conseils sur la meilleure façon de mettre à jour manuellement le client git vers une version non vulnérable sous El Capitan.

0 votes

Merci pour l'édition. La définition de Wikipedia de RCE est de déclencher l'exécution de code à distance - donc utiliser le client git pour tirer du code d'un dépôt malveillant semble inférieur à RCE dans mon livre. Néanmoins - en supposant que vous voulez simplement savoir comment éviter d'utiliser un client git vulnérable jusqu'à ce que/si Apple le corrige, ouvrons ce dossier pour le moment et voyons ce qui en ressort.

3voto

t56k Points 151

Si vous utilisez Homebrew, c'est assez facile :

brew upgrade git
which git
=> /usr/local/bin/git
git --version
=> git version 2.7.3

C'est fait.

1 votes

Je ne sais pas pourquoi il n'y a pas plus de votes. Homebrew a été mis à jour il y a longtemps maintenant et fonctionne bien avec Rootless dans El Capitan ; /usr/local y /Library/Caches/Homebrew ne sont pas des emplacements de système de fichiers protégés : support.apple.com/fr/HT204899 ("Les chemins et les applications sur lesquels les applications tierces et les installateurs peuvent écrire : /Applications , /Library , /usr/local ").

2voto

Oskar Points 1242

Brew ne fonctionne jamais pour remplacer ou corriger une version du système d'exploitation - il est consciemment conçu pour ne mettre que des binaires à côté de ceux d'Apple et non à la place de.

Si vous voulez vous assurer qu'aucun programme n'appelle l'outil Apple /usr/bin/git ou vous ne l'appelez pas, alors ces étapes permettront d'atteindre cet objectif de durcissement de vos installations 10.11 :

  1. Exécuter Récupération OS X en maintenant la touche Command-R enfoncée pendant le démarrage du Mac.
  2. Utilisez le menu Utilitaires pour exécuter Terminal
  3. csrutil disable
  4. redémarrer
  5. Entrez en mode utilisateur unique en maintenant la touche Commande-S pendant que le Mac redémarre.
  6. mount -uw /
  7. rm /usr/bin/git
  8. arrêt
  9. Répétez l'étape de récupération d'OS X et ouvrez Terminal et exécutez csrutil enable
  10. redémarrer

A ce stade, le git d'Apple est supprimée.

Recherche d'autres git binaires :

  • /Library/Developer/CommandLineTools/usr/bin/git est 2.5.4
  • /Applications/Xcode.app/Contents/Developer/usr/bin/git est 2.5.4

Vous ne courez qu'un risque très léger puisque vous n'avez exécuté sans SIP en mode mono-utilisateur que suffisamment longtemps pour supprimer le seul binaire. Vous pouvez également obtenir git 2.7.4 de brew à partir du 18 mars 2016 si vous le souhaitez :

brew install git
git --version

Vous devrez surveiller toutes les mises à jour d'OS X pour vous assurer qu'elles ne font pas apparaître une autre copie de git qui est patché plus bas que vous ne le souhaitez. Pour la plupart des gens, je m'attacherais à ne me connecter qu'à des serveurs qui sont patchés et/ou connus pour ne pas être malveillants. Le simple fait d'avoir le git sur place constitue un risque faible selon ma lecture de la situation.

Quelques autres sujets d'intérêt :

0 votes

Est-ce que Xcode cherche dans /usr/local/bin du tout ?

0 votes

Je peux tester ça @patrix dans un moment. Je me souviens qu'il a son propre git, donc peut-être que quelqu'un qui veut éviscérer tous les anciens binaires git doit chercher plus profondément que juste dans /usr/bin . Plus précisément, les outils de ligne de commande actuels ont /Library/Developer/CommandLineTools/usr/bin/git à 2.5.4

0 votes

Donc, pour protéger le système d'un développeur, ces binaires git doivent être remplacés également, je suppose (il y a une /Applications/Xcode.app/Contents/Developer/usr/bin/git y /Applications/Xcode.app/Contents/Developer/usr/libexec/git-c‌​ore/git dans Xcode, mais aussi des outils tels que Github.app ou SourceTree.app incluent leurs propres outils de gestion de l'information. git ). Ainsi, pour protéger un système, il faudra plus que simplement désactiver /usr/bin/git .

0voto

jorfus Points 151

Je n'ai pas de flux de travail dans lequel d'autres outils appellent git, donc je suis prêt à installer simplement une version corrigée et à l'utiliser.

J'ai fait ce qui suit :

  • Cloné à partir du Dépôt git officiel
  • Installé avec make && make install
  • Et j'ai ajouté ~/bin à mon chemin dans .profile

Ça devrait marcher pour moi, je pense.

Quant au fait de n'interagir qu'avec des sources fiables, c'est l'idéal, mais il n'y a aucune excuse pour utiliser un logiciel dont la vulnérabilité est connue. Il existe de nombreux exemples de sources de confiance compromises. Avoir un git clone réellement capable d'exécuter un code arbitraire n'est pas souhaitable à mon avis.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X