Решение
Обновление для Microsoft Visual Studio 2013 (KB3023576) Загрузите обновление для Microsoft Visual Studio 2013 устранить ошибку в Git.
Как работает исправления
Для Team Foundation Server (TFS) исправление отклоняет все принудительные (отправки), содержащий компонент файла или пути, который соответствует строке «.git». Это предотвращает введение поврежденных файлов в размещенных repos.
Исправление для клиента Visual Studio, запрещает любой файл извлечен в каталог .git. Это, в свою очередь, предотвращает repos, содержащих поврежденные файлы от влияния на локальном компьютере пользователя.О проблеме в Git
Это важно, манифесты через Git экосистемы и который не является уникальным в службу поддержки Майкрософт для репозиториев Git в нашей платформы разработки. Тем не менее мы воспользовались важно, профилактические действия, чтобы убедиться в том, что пользователи Microsoft, использующие Git репозитории защищены от этой проблемы.
Специалисты Git ядра, обнаружена проблема, влияющая на все клиенты Git. Это позволяет введение файл в Git repo. Файл называется так, что когда пользователь загружает изменения в удаленный репозиторий, специально созданного файла автоматически заменить файл конфигурации пользователя. Файл конфигурации пользователя находится за пределами репозитория. Заменив этот файл поврежденный файл, команды git может быть перенесена для выполнения произвольных команд, которые работают под учетными данными пользователя.Влияние на Visual Studio
Visual Studio 2013 и Visual Studio 2013 TFS не подвержены непосредственно по этой проблеме. Visual Studio и TFS выполнение произвольных команд из метаданных .git. Однако извлечение repo, содержащий специально созданный файл может привести к Visual Studio перезаписать части метаданных .git, предоставляя средства командной строки Git для Windows с проблемой. Чтобы предотвратить распространение этой проблеме заранее установлено исправление TFS.
Причина
Каждой локальной базы данных Git сохраняется на диске, в корневой папке repo в каталоге .git скрытые. Когда файлы проверяются (например, расположены на локальном диске после загрузки), файл с именем «. GIT/config» помещается в базе данных Git. Сравнение без учета регистра для «.git» частично отвечает за эту проблему. Кроме того, автоматическая обработка путей к файлам на платформах Windows при развертывании уязвимого файла шаблонов много больше, чем явно именованные «. Шаблон GIT/config».
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".