Vulnerabilități în Git la clonarea submodulelor și utilizarea shell-ului git

Опубликованы корректирующие выпуски распределённой системы управления исходными текстами Git 2.38.1, 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3 и 2.37.4, в которых устранены две уязвимости, проявляющиеся при применении команды «git clone» в режиме «—recurse-submodules» с непроверенными репозиториями и при использовании интерактивного режима работы «git shell». Проследить за выпуском обновлений пакетов в дистрибутивах можно на страницах Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.

  • CVE-2022-39253 — уязвимость позволяет атакующему, контролирующему содержимое клонируемого репозитория, получить доступ к конфиденциальным данным на системе пользователя, через размещение в каталоге $GIT_DIR/objects клонируемого репозитория символических ссылок на интересующие файлы. Проблема проявляется только при локальном клонировании (в режиме «—local», применяемом когда целевые и исходные данные клонирования находятся в одном разделе) или при клонировании вредоносного репозитория, упакованного в форме субмодуля в другом репозитории (например, при рекурсивном включении субмодулей командой «git clone —recurse-submodules»).

    Уязвимость вызвана тем, что в режиме клонирования «—local», git переносит содержимое $GIT_DIR/objects в целевой каталог (создаёт жёсткие ссылки или копии файлов), выполняя разыменование символических ссылок (т.е. в итоге в целевой каталог копируются не символические ссылки, а непосредственно файлы, на которые указывают ссылки). Для блокирования проявления уязвимости в новых выпусках git запрещено клонирование репозиториев в режиме «—local», содержащих символические ссылки в каталоге $GIT_DIR/objects. Кроме того, значение по умолчанию параметра protocol.file.allow изменено на «user», что относит операции клонирования с использованием протокола file:// в разряд небезопасных.

  • CVE-2022-39260 — целочисленное переполнение в функции split_cmdline(), используемой в команде «git shell». Проблема может быть использована для атаки на пользователей, у которых «git shell» используется в качестве оболочки при входе и включён интерактивный режим работы (создан файл $HOME/git-shell-commands). Эксплуатация уязвимости может привести к выполнению произвольного кода в системе при передаче специально оформленной команды, размером больше 2 ГБ.

Sursa: opennet.ru

Adauga un comentariu