Разработчики Git Project на днях сообщили о критической уязвимости в клиенте командной строки, Git Desktop и Atom. Эта брешь способна позволить вредоносным репозиториям удаленно выполнять команды на уязвимой машине. Проблеме был присвоен идентификатор CVE-2018-17456.
Эта уязвимость схожа с CVE-2017-1000117, которая допускает инъекцию кода. Обе эти бреши позволяют злонамеренным репозиториям создать файл .gitmodules, который будет содержать URL-адрес, начинающийся с тире.
Используя тире, атакующий может задействовать параметр -recurse-submodules, в этом случае командная строка интерпретирует URL как команду. Это может привести к удаленному выполнению кода на компьютере.
«При использовании ‘git clone --recurse-submodules’ Git парсит файл .gitmodules, передавая поле URL в качестве аргумента. Это происходит из-за использования тире в начале адреса. Благодаря этой технике киберпреступник может запустить скрипт», — объясняет специалист.
Эксперт привел пример вредоносного файла .gitmodules, его содержимое мы публикуем ниже:
[submodule "test"]
path = test
url = ssh://-oProxyCommand=touch VULNERABLE/git@github.com:/timwr/test.git
Разработчики исправили проблему с выходом версий Git v2.19.1, GitHub Desktop 1.4.2, Github Desktop 1.4.3-beta0, Atom 1.31.2 и Atom 1.32.0-beta3.
Всем пользователям настоятельно рекомендуется обновить свои версии вышеозначенных приложений.