Microsoft устранила критическую уязвимость Git в подпроцессе git clone

git clone

Разработчики проекта Git рассказали об обнаружении уязвимости, которую можно использовать для выполнения вредоносного кода после команды git clone. Она представляет опасность для операционных систем семейства Unix (в том числе macOS и Linux), среды Cygwin, а также ОС Linux в слое совместимости Windows Subsystem for Linux. ОС Windows уязвимости не подвержена. Несмотря на это, сотрудники Microsoft порекомендовали всем пользователям обновить Git до версий 2.14.5, 2.15.3, 2.16.5, 2.17.2, 2.18.1 и 2.19.1.

Уязвимость Git

Злоумышленнику достаточно создать файл .gitmodules и клонировать его внутри проекта с рекурсивным включением подмодулей. При выполнении команды git clone --recurse-submodules поле URL передаётся без проверки в подпроцесс git clone. Он интерпретирует символ «-» как опцию командной строки, если с него начинается значение URL.

Помимо устранения уязвимости, разработчики добавили в обновления 2.17.2, 2.18.1 и 2.19.1 fsck-проверку с помощью transfer.fsckObjects в git-config. Она выявляет вредоносный репозиторий на этапе извлечения или помещения в него данных.

Microsoft старается оперативно устранять уязвимости, но в середине сентября 2018 года энтузиасты из The Zero Day Initiative (ZDI) рассказали о бреши в механизме баз данных Microsoft Jet. Она была обнаружена в начале мая 2018 года и позволяла использовать эксплойт для выполнения произвольного кода.

via блог Microsoft DevOps
Source: LKML