Qué hacer ante la vulnerabilidad reciente de ejecución remota de código en git (en El Capitán)

3

El reciente ejecución remota de código en git parece bastante serio. La forma en que leo esto es que si ejecuto un cliente git antes de 2.7.1, soy susceptible de ejecución remota de código si uso git para interactuar con un repositorio malicioso (o comprometido). Parece que una actualización manual del cliente git está en orden, pero desarraigado evita que funcionen cosas como brew. (Actualmente estoy en la última versión de Xcode 7.2.1)

¿Cuál es la mejor manera de avanzar bajo El Capitán? ¿Desactivar rootless e instalar con brew? ¿Instalar un cliente git actualizado desde la fuente? (el último binario estable parece ser anterior a 2.7.1) ¿Hay un cliente git actualizado en una versión más nueva de Xcode?

    
pregunta jorfus 16.03.2016 - 23:34

3 respuestas

3

Si usas Homebrew es bastante fácil:

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

Hecho.

    
respondido por el well-i-better-get-rolling 17.03.2016 - 22:32
2

Brew nunca funciona para reemplazar o parchar una versión del sistema operativo; está diseñado conscientemente para poner solo binarios junto a los de Apple y no en lugar de.

Si desea asegurarse de que ningún programa llame a /usr/bin/git de Apple o no lo llame, estos pasos lograrán el objetivo de fortalecer sus instalaciones 10.11:

  1. Ejecute OS X Recovery presionando Comando-R mientras la Mac se está iniciando.
  2. Use el menú de Utilidades para ejecutar Terminal
  3. csrutil disable
  4. reiniciar
  5. Ingrese al modo de usuario único presionando Comando-S mientras la Mac se está reiniciando.
  6. mount -uw /
  7. rm / usr / bin / git
  8. detener
  9. Repita el paso de recuperación de OS X, abra Terminal y ejecute csrutil enable
  10. reiniciar

En este punto, se elimina el git de Apple.

Buscar otros git binarios:

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

Corres muy poco riesgo ya que solo corriste sin SIP en modo de usuario único el tiempo suficiente para eliminar el binario. También puede obtener git 2.7.4 de brew a partir del 18 de marzo de 2016 si lo desea:

brew install git
git --version

Querrá ver todas las actualizaciones de OS X para asegurarse de que no muestren otra copia de git que esté parchada más abajo de lo que desea. Para la mayoría de las personas, me concentraría solo en conectarse a servidores parcheados y / o conocidos por no ser maliciosos. El solo hecho de tener al git sentado allí es bajo riesgo en mi lectura de la situación.

Algunos otros hilos de interés:

respondido por el bmike 17.03.2016 - 19:44
0

No tengo ningún flujo de trabajo en el que otras herramientas estén llamando a git, así que estoy de acuerdo con simplemente instalar una versión parcheada y usarla.

Hice lo siguiente:

Eso debería funcionar bien para mí, creo.

En cuanto a solo interactuar con fuentes confiables: seguro, eso es ideal, pero no hay excusa para usar una pieza de software vulnerable conocida. Hay muchos ejemplos de fuentes de confianza comprometidas. Tener un git clone realmente capaz de ejecutar código arbitrario no es deseable desde mi punto de vista.

    
respondido por el jorfus 17.03.2016 - 22:21

Lea otras preguntas en las etiquetas