Meteora Web

Git 2.56.1 исправляет шесть уязвимостей, одна позволяет выполнить код

Проект Git выпустил версию 2.56.1 с шестью исправлениями безопасности, включая выполнение кода при рекурсивном клонировании. Что делать и кого это касается.

Ing. Calogero Bono 1 мин чтения
Git 2.56.1 исправляет шесть уязвимостей, одна позволяет выполнить код

Проект Git выпустил версию 2.56.1, которая исправляет шесть уязвимостей безопасности. Одна из них позволяет выполнить чужой код, если рекурсивно клонировать вредоносный репозиторий. Остальные связаны с записью в непредусмотренные файлы и повреждением памяти при слиянии и применении бинарных патчей. Это важно, потому что Git встроен в редакторы, инструменты автоматизации и серверы многих компаний, и обновить его нужно везде.

Несколько терминов, прежде чем перейти к фактам. Рекурсивное клонирование — это копирование репозитория вместе с его подмодулями. Подмодуль — это репозиторий внутри другого репозитория. Хуки — это программы, которые Git запускает в определённые моменты. Path traversal использует пути со служебными компонентами, чтобы выйти за пределы разрешённой папки. CVE — это код, по которому публично идентифицируется уязвимость.

Zenithby Meteora Web Операционная система твоего бизнеса. Соцсети, клиенты, бронирования и счета на одной платформе. Спортзалы, барбершопы, специалисты. Узнать о Zenith → Бесплатное демо · без карты

Что выпустил проект Git?

По данным блога GitHub, исправления вошли в версию 2.56.1. Есть также бэкпорты для серий 2.55.1, 2.54.1, 2.53.1, 2.52.1, 2.51.3 и 2.50.2.

GitHub рекомендует перейти на 2.56.1 или исправленную версию своей серии и обновить также приложения, которые включают копию Git. Если ты читал наш путеводитель по Git для разработчиков, ты знаешь, насколько этот инструмент распространён в повседневной работе.

Как рекурсивное клонирование приводит к выполнению кода?

Дефект зафиксирован как CVE-2026-111760. Это усечение целого числа при работе с индексом. Очень длинный путь проходит проверку Git, но затем записывается на диск под более коротким именем, которое злоумышленник может превратить в .git.

Так файл .git подмодуля заменяется символической ссылкой на папку с враждебными хуками или конфигурацией. Как объясняет The Hacker News, Git отказывается заменять папку .git символической ссылкой, но в только что клонированном подмодуле .git является файлом. Когда Git использует эту папку, код злоумышленника может запуститься.

Исправление отбрасывает слишком длинные пути до того, как их длина будет усечена.

Какие ещё пять уязвимостей?

  • CVE-2026-113408. При клонировании пустого репозитория по протоколу v2 вредоносный сервер может указать имя с path traversal. С бэкендом ссылок на файлы последующее обновление может записать данные за пределами предусмотренной папки.
  • CVE-2026-114467. Тег с более чем двумя подписями GPG при слиянии повреждает стек и может привести к остановке сервиса.
  • CVE-2026-114469. Небольшой бинарный патч, который сильно разрастается, обходит лимит примерно в 1 ГиБ и приводит Git к сбою.
  • CVE-2026-105437. Очень большое слияние с множеством конфликтов и высоким значением атрибута conflict-marker-size повреждает память кучи.
  • CVE-2026-114466. Три функции fast-import могут читать произвольные файлы или создавать их и дописывать в них данные.

Для последнего случая Git теперь отклоняет эти функции во входящих потоках, за исключением опции --allow-unsafe-features, которую стоит использовать только если ты доверяешь программе, генерирующей поток.

Кому грозит больше всего и что уже обновил GitHub?

Больше всего подвержены серверы, которые выполняют слияния от имени пользователей. GitLab, которому присвоен CVE-2026-105437, называет вероятной мишенью git merge-tree, поскольку сервер может использовать его, чтобы проверить, можно ли слить merge request. Атрибут задаётся в файле .gitattributes репозитория, поэтому тот, кто может открыть запрос, потенциально способен вызвать дефект.

GitHub заявляет, что исправил github.com и GitHub Enterprise Cloud. Для Enterprise Server нужны версии 3.19.15, 3.20.11, 3.21.9 или 3.22.4. GitHub Desktop, приложение Copilot, Codespaces и Actions получат исправленный Git.

Ограничения, которые стоит знать

Источники не сообщают об активных эксплойтах и не дают уровня серьёзности для каждого CVE. Мы не знаем, использовал ли кто-то эти дефекты. По данным The Hacker News, во вторник в 19:09 UTC для Git for Windows ещё не было версии на основе 2.56.1, так что сроки для этой платформы могут измениться. Также неизвестны сроки для GitHub Desktop, Copilot, Codespaces и Actions.

Что меняется для тех, кто работает с цифровыми технологиями

Первый шаг — понять, где работает Git. Не только на твоём компьютере, но и в программах, которые включают его копию, в системах непрерывной интеграции и в сервисах, обрабатывающих чужие репозитории. Тем, кто управляет серверами с репозиториями сторонних авторов, нужно обновить и автоматизации. Если сразу обновиться нельзя, обходной путь от GitLab — добавить conflict-marker-size=7 в файл info/attributes каждого репозитория или отключить эти проверки для недоверенных репозиториев. Если ты пользуешься хостингом с управляемыми обновлениями безопасности, часть работы берёт на себя он.

Наше мнение

Уязвимостей шесть, но сообщение одно – Git нужно считать ПО, которое обрабатывает недоверенные данные, а не просто локальным инструментом. Мы клонируем, сливаем и применяем патчи из внешних источников не задумываясь, и автоматизации делают это за нас. Самый реальный риск — копии Git, спрятанные внутри других программ, которые никто не обновляет, пока о них не вспомнят. Меры, которые перечисляет GitHub, годятся как временное решение, но это именно временные решения. Кстати, об инструментах, которые активно используют Git, мы писали про GitHub Rubicon, где тема недоверенного ввода ещё важнее.

Часто задаваемые вопросы

Какую версию Git нужно установить?

Установи 2.56.1 или исправленную версию своей серии – 2.55.1, 2.54.1, 2.53.1, 2.52.1, 2.51.3 или 2.50.2. Обнови также приложения, которые включают собственную копию Git.

Достаточно просто не клонировать незнакомые репозитории?

Это помогает, но не спасает полностью. GitHub советует клонировать только с доверенных серверов и избегать рекурсивного клонирования, слияния и бинарных патчей из недоверенных источников, но подчёркивает, что эти меры не заменяют обновления.

Какая уязвимость самая опасная?

Источники не дают рейтинга. Та, что позволяет выполнить код во время рекурсивного клонирования, — это CVE-2026-111760, и на ней сосредоточено основное внимание.

Git for Windows уже обновлён?

Пока нет, по последней проверке The Hacker News. Во вторник в 19:09 UTC среди релизных тегов не было версии на основе 2.56.1.

Нужно ли пользователям GitHub что-то делать?

Зависит от ситуации. GitHub уже исправил github.com и версии Enterprise Cloud. Тем, кто использует Enterprise Server, нужно перейти на одну из указанных версий, а тем, кто работает с локальными инструментами, нужно обновить Git.

Обновления Git, за которыми стоит следить в ближайшие дни

Исправление уже есть, но его распространение идёт по частям. Стоит отслеживать тех, кто ещё не выпустил свою версию.

  • Проверяй, когда Git for Windows выпустит сборку на основе 2.56.1, и сразу обновляйся.
  • Следи за выходом исправленных версий GitHub Desktop, приложения Copilot, Codespaces и Actions.
  • Если ты управляешь сервером для хостинга кода, рассмотри обходной путь GitLab, пока не можешь обновиться.

Источники

Zenithby Meteora Web Операционная система твоего бизнеса. Соцсети, клиенты, бронирования и счета на одной платформе. Спортзалы, барбершопы, специалисты. Узнать о Zenith → Бесплатное демо · без карты

Читай также

Из блога

Последние статьи