Разработчики системы управления версиями Git сегодня ночью сообщили о критической уязвимости CVE-2014-9390, которая затрагивает все версии официального клиента. Судя по всему, пострадали только пользователи Windows и Mac OS X, но не Linux.
Уязвимость связана с тем, как в Git-клиенте реализован доступ к файловой системе, нечувствительной к регистру или с нормализацией регистра символов. Злоумышленник может создать вредоносную ветку Git, которая заставит клиент перезаписать собственный файл .git/config во время клонирования или проверки репозитория, что ведёт к выполнению произвольных команд на клиентской машине под OS X (файловая система HFS+) или любой версией Microsoft Windows (NTFS, FAT).
Уязвимость затронула различное программное обеспечение со встроенным клиентом Git, в том числе GitHub for Windows и GitHub for Mac. Поскольку это баг в клиенте, то Github.com и GitHub Enterprise напрямую не пострадали.
Уже выпущен патч и обновленная версия Git 2.2.1, где исправлен баг. Такие же исправленные версии вышли в других ветках: 1.8.5.6, 1.9.5, 2.0.5 и 2.1.4.
Необходимые файлы лежат на https://www.kernel.org/pub/software/scm/git/. Всем пользователям рекомендуется обновить программу.
Одновременно опубликованы обновления для разнообразных портированных вариантов, включая инсталлятор Git OS X, JGit & EGit, libgit2 (и Visual Studio, который его использует). Обновлены десктопные приложения GitHub for Windows и GitHub for Mac.
В общем, разработчики потрудились на славу, согласовав свои действия в период эмбарго на разглашение информации.