Доступны внеплановые обновления Git 2.14.5, 2.15.3, 2.16.5, 2.17.2, 2.18.1 и 2.19.1, в которых устранена уязвимость (CVE-2018-17456), позволяющая атакующему выполнить свой код через подстановку специально оформленного файла .gitmodules в составе проекта, клонируемого с рекурсивным включением субмодулей (проблема проявляется только при выполнении операции "git clone --recurse-submodules").
Уязвимость вызвана тем, что извлекаемое из файла .gitmodules поле URL без проверки корректности значения передаётся в качестве аргумента в процесс "git clone". Если значение URL начинается с символа "-", то "git clone" обрабатывает его как опцию командной строки. Соответственно, злоумышленник имеет возможность через манипуляцию значением URL организовать выполнение произвольного скрипта в системе разработчика, выполняющего операцию клонирования.
В выпусках 2.17.2, 2.18.1 и 2.19.1 дополнительно добавлена fsck-проверка для выявления вредоносных репозиториев, эксплуатирующих вышеописанную уязвимость. Проверка выполняется на этапе извлечения или помещения данных в репозиторий. Настройка проверки производится через опцию "transfer.fsckObjects" в git-config. Примечательно, что проблемы с безопасностью, эксплуатируемые при помощи параметров файла ".gitmodules", ранее всплывали уже как минимум три раза.
|