Rezolvare
Actualizare pentru Microsoft Visual Studio 2013 Update 4 (KB3023304) Descărcați actualizarea pentru Microsoft Visual Studio 2013 Update 4 pentru a remedia o problemă în Git.
Pentru Team Foundation Server (TFS), fix respinge orice tip push (încărcare), care conține o componentă de fișier sau o cale care se potrivește șirul".git. Aceasta împiedică injectare defecte fișiere în găzduit repos.
Pentru clientul Visual Studio, fix împiedică orice fişier este verificat în directorul .git. Acest lucru, în schimb, împiedică repos care conțin fișiere rău din afectează computerul local al utilizatorului.Problema din Git
Aceasta este o problemă care se manifestă prin ecosistemul Git și care nu este unic pentru asistență Microsoft pentru Git arhive în nostru platforme de dezvoltare. Cu toate acestea, am luat importante, proactivă pași pentru a vă asigura că Microsoft clienții care utilizează Git depozitele sunt protejate împotriva această problemă.
Problemă care afectează toți clienții cu Git s-a descoperit de bază Git responsabili. Problema permite introducerea unui fișier într-un repo Git. Fișierul este denumit astfel că atunci când un utilizator descărcări modificările într-un depozit de la distanță, un fişier special creat ar putea silențios Înlocuiți fișierul de configurare al utilizatorului. Fișierul de configurare al utilizatorului se află în afara depozitului. Înlocuind acest fișier cu un fișier deteriorat, poate fi remapat git comenzi pentru a executa comenzi arbitrare care se execută sub acreditările de utilizator.Visual Studio 2013 şi Visual Studio TFS 2013 nu sunt direct afectate de această problemă. Visual Studio și TFS executa comenzi arbitrare de metadate .git. Cu toate acestea, verificat un repo care conţine un fişier special creat poate provoca Visual Studio pentru a suprascrie porțiuni de metadate .git, expunerea instrumentele de linie de comandă Git pentru Windows pentru problema. TFS proactiv a fost patch-uri pentru a preveni răspândirea de această problemă.
Cauza
Fiecare bază de date locală Git se păstrează pe un disc în folderul rădăcină repo într-un director .git ascunse. Când fișierele sunt verificate (de exemplu, stabilite de pe discul local după descărcare), un fișier denumit ". GIT/config este plasat în interiorul Git bazei de date. O comparație pentru ".git este parțial responsabilă pentru această problemă. În plus, tratarea automată de căi de fişier pe platforme Windows se extinde modele de fișier afectat prea mult mai mult decât în mod explicit denumit ". Model GIT/config.
Stare
Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".