Cosa fare sulla recente vulnerabilità legata all'esecuzione di codice in modalità remota in git (su El Capitan)

3

Il recente bug di esecuzione di codice in remoto in git sembra piuttosto serio. Il modo in cui leggo questo è che se eseguo un client git precedente alla 2.7.1, sono suscettibile all'esecuzione di codice in modalità remota se utilizzo git per interagire con un repository dannoso (o compromesso). Sembra che un aggiornamento manuale del client git sia in ordine, ma senza root impedisce a cose come brew di funzionare. (Sono attualmente sull'ultimo Xcode 7.2.1 stabile)

Qual è la migliore strada da seguire per El Capitan? Disattivare rootless e installare con brew? Installa un client git aggiornato dall'origine? (l'ultimo binario stabile sembra essere precedente alla 2.7.1) Esiste un client git aggiornato in una versione più recente di Xcode?

    
posta jorfus 16.03.2016 - 23:34
fonte

3 risposte

3

Se usi Homebrew è piuttosto semplice:

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

Fatto.

    
risposta data 17.03.2016 - 22:32
fonte
2

Brew non funziona mai per sostituire o applicare patch su una versione del sistema operativo: è progettato in modo consapevole per mettere solo i binari accanto a quelli di Apple e non al posto di.

Se vuoi assicurarti che nessun programma chiami /usr/bin/git di Apple o non lo chiami, allora questi passaggi raggiungeranno l'obiettivo di rendere più rigide le tue installazioni 10.11:

  1. Esegui Ripristino OS X tenendo premuto Comando-R mentre il Mac si sta avviando.
  2. Utilizza il menu Utilità per eseguire Terminal
  3. csrutil disable
  4. riavvio
  5. Entra in modalità utente singolo tenendo premuto Comando-S mentre il Mac si riavvia.
  6. mount -uw /
  7. rm / usr / bin / git
  8. halt
  9. Ripeti il passaggio di ripristino di OS X e apri Terminale ed esegui csrutil enable
  10. riavvio

A questo punto, il git di Apple viene rimosso.

Cerca altri binari git :

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

Si corre un rischio molto leggero poiché si eseguiva solo senza SIP in modalità utente singolo abbastanza a lungo da rimuovere l'unico binario. Puoi anche ottenere git 2.7.4 da brew a partire dal 18 marzo 2016, se ti piace:

brew install git
git --version

Avrai voglia di guardare tutti gli aggiornamenti di OS X per assicurarti che non facciano scoppiare un'altra copia di git che è patchata più in basso di quanto desideri. Per la maggior parte delle persone, mi concentrerei solo sulla connessione ai server che sono stati riparati e / o noti per non essere dannosi. Il solo fatto di star seduto lì è a basso rischio nella mia lettura della situazione.

Alcuni altri thread di interesse:

risposta data 17.03.2016 - 19:44
fonte
0

Non ho alcun flusso di lavoro in cui altri strumenti stiano chiamando git quindi sto bene semplicemente installando una versione con patch e usando quella.

Ho fatto quanto segue:

Dovrebbe funzionare bene per me, credo.

Per quanto riguarda solo l'interazione con fonti attendibili - sicuro, è l'ideale, ma non ci sono scuse per usare un software vulnerabile noto. Ci sono molti esempi di fonti attendibili che vengono compromesse. A mio avviso, avere un git clone effettivamente in grado di eseguire codice arbitrario è indesiderabile.

    
risposta data 17.03.2016 - 22:21
fonte

Leggi altre domande sui tag