Aggiornamento di Git con correzione di 8 vulnerabilità

Pubblicati rilascio correttivo della versione 2.24.1, 2.23.1, 2.22.2, 2.21.1, 2.20.2, 2.19.3, 2.18.2, 2.17.3, 2.16.6, 2.15.4 e 2.14.6 del sistema di gestione distribuito dei testi sorgente Git, in cui sono state risolte vulnerabilità che consentono a un attaccante di sovrascrivere percorsi arbitrari nel file system, avviare codice in remoto o sovrascrivere file nella directory «.git/». La maggior parte dei problemi è stata identificata dai dipendenti
del Microsoft Security Response Center, cinque delle otto vulnerabilità sono specifiche per la piattaforma Windows.

  • CVE-2019-1348 — comando stream «feature export-marks=path»consente per scrivere etichette in directory arbitrarie, che può essere utilizzato per sovrascrivere percorsi arbitrari nel FS durante l'esecuzione dell'operazione «git fast-import» con input non verificati.
  • CVE-2019-1350 — gestione scorretta dell'escaping degli argomenti della riga di comando poteva causare l'esecuzione remota di codice dell'attaccante durante la clonazione ricorsiva utilizzando l'URL ssh://. In particolare, l'escaping degli argomenti che terminano con una barra rovesciata (ad esempio, «test \») non veniva gestito correttamente. In questo caso, quando l'argomento era racchiuso tra virgolette doppie, l'ultima virgoletta risultava sfuggita, consentendo l'inserimento delle proprie opzioni nella riga di comando.
  • CVE-2019-1349 — durante la clonazione ricorsiva dei sottomoduli («clone --recurse-submodules») in un ambiente Windows in determinate condizioni era possibile iniziare a utilizzare una stessa directory git due volte (.git, git~1, git~2 e git~N in NTFS vengono riconosciute come una directory, ma questa situazione veniva controllata solo per git~1), il che poteva essere utilizzato per organizzare la scrittura nella directory «.git». Per eseguire il proprio codice, l'attaccante, ad esempio, può inserire il proprio script tramite il gestore post-checkout nel file .git/config.
  • CVE-2019-1351 — il gestore dei nomi di unità dei percorsi Windows durante la traduzione di percorsi del tipo «C:\» era progettato solo per sostituire identificatori latini di una sola lettera, senza tenere conto della possibilità di creare unità virtuali assegnate tramite «subst lettera:percorso». Tali percorsi venivano trattati non come percorsi assoluti, ma come percorsi relativi, il che consentiva, durante la clonazione di un repository dannoso, di registrare in una directory arbitraria al di fuori dell'albero lavorativo delle directory (ad esempio, utilizzando numeri o caratteri unicode nel nome dell'unità — «1:\what\the\hex.txt» o «ä:\tschibät.sch»).
  • CVE-2019-1352 — durante il lavoro sulla piattaforma Windows, l'utilizzo di flussi di dati alternativi in NTFS, creati aggiungendo l'attributo «:stream-name:stream-type» al nome del file, consentiva sovrascrivere i file nella directory «.git/» durante la clonazione di un repository malevolo. Ad esempio, il nome «.git::$INDEX_ALLOCATION» in NTFS è stato trattato come un collegamento valido alla directory «.git».
  • CVE-2019-1353 — utilizzando Git in un ambiente WSL (Windows Subsystem for Linux) quando si accede alla directory di lavoro non è stata applicata la protezione contro la manipolazione dei nomi in NTFS (era possibile attaccare tramite la traduzione dei nomi FAT, ad esempio, si poteva accedere a «.git» tramite la directory «git~1»).
  • CVE-2019-1354
    la possibilità scritture nella directory «.git/» sulla piattaforma Windows durante la clonazione di repository malevoli contenenti file con barra inversa nel nome (ad esempio, «a\b»), che è consentita in Unix/Linux, ma è interpretata come parte del percorso in Windows.
  • CVE-2019-1387 — una verifica insufficiente dei nomi dei sottomoduli poteva essere utilizzata per organizzare attacchi mirati, che durante la clonazione ricorsiva potevano portare all'esecuzione di codice malevolo. Git non vietava la creazione di una directory del sottomodulo all'interno di un'altra directory di sottomodulo, il che nella maggior parte dei casi potrebbe portare solo a confusione, ma potenzialmente non esclude la sovrascrittura del contenuto di un altro modulo durante il processo di clonazione ricorsiva (ad esempio, le directory dei sottomoduli «hippo» e «hippo/hooks» sono collocate come «.git/modules/hippo/» e «.git/modules/hippo/hooks/», e la directory hooks in hippo può essere utilizzata separatamente per posizionare gestori eseguibili.

Si raccomanda agli utenti di Windows di aggiornare urgentemente la versione di Git e, fino all'aggiornamento, di astenersi dal clonare repository non verificati. Se non è possibile aggiornare urgentemente la versione di Git, si consiglia di ridurre il rischio di attacco astenendosi dal lanciare «git clone —recurse-submodules» e «git submodule update» con repository non verificati, di non utilizzare «git fast-import» con stream di input non verificati e di non clonare repository in partizioni basate su NTFS.

Per ulteriore protezione, nelle nuove versioni è anche vietato l'uso in .gitmodules di costrutti nella forma «submodule.{name}.update=!command». Per le distribuzioni, è possibile seguire il rilascio di aggiornamenti dei pacchetti sulle pagine Debian,Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, ALT, FreeBSD.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster