Обновления Git 2.56.1, 2.55.1, 2.54.1, 2.53.1, 2.52.1, 2.51.3 и 2.50.2 закрывают шесть уязвимостей, и одна из них позволяет выполнить чужой код прямо во время клонирования.
Самая серьёзная дыра — CVE-2026-111760. Она срабатывает, когда жертва делает «git clone» с флагом «—recurse-submodules» из репозитория, который контролирует злоумышленник. Причина в рассинхроне типов: длина имени записи в индексе считается как 64-разрядное size_t, а хранится в 32-разрядном поле ce_namelen. Если подсунуть очень длинное имя вроде «.gitA/AAA….», значение усекается до четырёх байт. В результате проверка идёт по фактическим данным, а запись — по обрезанному «.git». Это даёт атакующему возможность подменить файл «.git» в субмодуле на символическую ссылку, ведущую в каталог с настройками и хуками.
CVE-2026-113408 позволяет выйти за пределы каталога refs/. Для этого при клонировании пустого репозитория по протоколу Git v2 в качестве ветки HEAD передаётся символическая ссылка со значением «refs/heads/../../../TARGET». Когда пользователь потом сделает «git commit», в корне репозитория появится файл TARGET — так можно перезаписывать файлы.
CVE-2026-114467 грозит переполнением стека при удалении GPG-подписей, вплоть до выполнения произвольного кода. Функция remove_signature() держит позиции подписей в массиве фиксированного размера, рассчитанном максимум на две подписи. Если слить тег с тремя и более подписями, данные выходят за границы массива.
Ещё две проблемы связаны с памятью и границами буфера. CVE-2026-114469: при проверке лимитов на бинарные патчи учитывались данные до распаковки, из-за чего читалось содержимое за пределами буфера. CVE-2026-105437: повреждение памяти при крупных операциях слияния, поскольку размер результата копился в поле типа int. В конфигурации GitLab с сервисом Gitaly эту уязвимость можно использовать для выполнения кода, но в GitLab 19.5.4 она уже заблокирована.
Замыкает список CVE-2026-114466 — чтение и создание произвольных файлов в файловой системе через «git fast-import». Причина в том, что часть новых возможностей fast-import не попала под ограничения, введённые ещё при закрытии старой уязвимости CVE-2019-1348.
