Обновление Git с устранением уязвимостей

Опубликованы корректирующие выпуски распределённой системы управления исходным кодом Git 2.48.1, 2.41.3, 2.42.4, 2.43.6, 2.44.3,
2.45.3, 2.46.3 и v2.47.2, в которых устранены две уязвимости:

  • CVE-2024-50349 – возможность подмены информации в интерактивном запросе пароля к репозитирию. Проблема вызвана отсутствием должной проверки имени хоста, в котором допускалось кодирование символов в формате %xx (URL Encoding). Атакующий мог использовать процентное кодирование для добавления в имя хоста escape-последовательностей, манипулирующих выводом на терминал.

    Таким способом, можно заменить текст приглашения аутентификации и создать у пользователя ощущение обращения к другому репозиторию, чтобы при обращении к репозиторию атакующего пользователь ввёл логин и пароль от другого хоста. Атака может быть совершена при выполнении рекурсивного клонирования субмодулей командой “git clone –recurse-submodules”, при котором один из субмодулей может запросить пароль от другого хоста, но ввод будет отправлен на хост с репозиторием атакующего.

  • CVE-2024-52006 – в реализации протокола “credential helper“, применяемого для передачи учётных данных при обращения к репозиторям c ограниченным доступом, выявлена недоработка, позволяющая подставить в данные символ возврата каретки через указание специально оформленного URL. Так как протокол манипулирует построчными данными, добавление возврата каретки может использоваться для разделения блоков данных и организации передачи пароля не на тот сервер. Возможность совершения атаки зависит от интерпретации символа возврата каретки в качестве разделителя строки в различных реализациях протокола “credential helper”. Например, проблеме подвержен Git Credential Manager, написанный на C#/.NET.

Пользователям, не имеющим возможность обновить Git, рекомендуется воздержаться от обращения к непроверенным внешним репозиториям при помощи команды “git clone” с флагом “–recurse-submodules”, а также исключить использование обработчиков учётных данных при клонировании публичных репозиториев. Помимо самого Git исправления для блокирования данных уязвимостей выпущены для GitHub Desktop (CVE-2025-23040), Git LFS (CVE-2024-53263) и Git Credential Manager (CVE-2024-50338).

Release. Ссылка here.