CVE-2024-32002
CVE-2024-32002: риск выполнения hook при рекурсивном клонировании Git
Проверьте Git, если выполняете git clone --recurse-submodules из недоверенных источников на файловой системе без учёта регистра, поддерживающей символические ссылки. Обновите Git до исправленной версии своей ветки; уязвимость не касается обычного просмотра репозитория.
Кому нужно проверить
Разработчикам, DevOps, администраторам CI/CD и рабочим станциям, где Git клонирует репозитории с submodules. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.
В чём риск
Специально созданный репозиторий при выполнении рекурсивного клонирования может заставить Git записать файлы не в рабочее дерево submodule, а в .git/, что позволяет выполнить hook во время clone до возможности проверить код.
Затронутые версии
Затронуты версии Git 2.45.0, 2.44.0, <=2.43.3, <=2.42.1, 2.41.0, <=2.40.1 и <=2.39.3 по GitHub advisory. Для эксплуатации важны рекурсивные submodule-клоны, файловая система без учёта регистра с поддержкой symlink и специально сформированный репозиторий; условия файловой системы различаются между платформами.
Исправленные версии
Исправленные upstream версии: 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 и 2.39.4. Установите пакет поставщика ОС, сверив статус CVE: Ubuntu публикует исправления через пакеты для каждой поддерживаемой ветки, в том числе 1:2.43.0-1ubuntu7.1 для 24.04 и 1:2.34.1-1ubuntu1.11 для 22.04.
Что сделать
- 1Проверьте версию Git на рабочих станциях, CI runners и контейнерах, а также тип файловой системы и включён ли symlink support; не полагайтесь только на версию, отображаемую другой копией Git.
- 2Обновите Git до исправленного релиза вашей ветки или пакета поставщика. Подтвердите исправленный статус у дистрибутива, поскольку пакетный backport не всегда меняет upstream номер.
- 3До обновления избегайте рекурсивного клонирования из недоверенных источников. В качестве временной меры advisory называет отключение поддержки symlink через core.symlinks=false; применяйте глобальную настройку только после проверки влияния на рабочие проекты.
- 4Перезапустите CI job/агенты после обновления и проверьте версию Git, используемую конкретными задачами. Уже клонированные подозрительные репозитории следует считать потенциально недоверенными и проверить hooks/файлы в .git.
Как не подпустить ботов к сайту
BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.
Первоисточники
Снизьте шанс атаки до того, как бот дойдёт до сайта
Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.