V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыПродуктыВендорыДокументация
← Вернуться к списку
Группа Астра (РусБИТех)Дистрибутивastra

Git

Уязвимости
32
Эксплуатируемые
1
Макс. CVSS
9.8
Макс. EPSS
0.97356

Распределение по критичности

Критический
3
Высокий
21
Средний
2
Низкий
6
Также сопоставлено как (исходные строки): git

Топ уязвимостей

CVE-2022-41903Git — это распределённая система контроля версий. `git log` может отображать коммиты в произвольном формате, используя свои спецификаторы `--format`. Эта функциональность также доступна для `git archive` через атрибут gitattribute `export-subst`. При обработке операторов заполнения происходит переполнение целого числа в `pretty.c::format_and_pad_commit()`, где `size_t` неправильно сохраняется как `int`, а затем добавляется в качестве смещения к `memcpy()`. Это переполнение может быть вызвано непосредственно пользователем, запускающим команду, которая вызывает механизм форматирования коммитов (например, `git log --format=...`). Оно также может быть вызвано косвенно через git archive с помощью механизма export-subst, который развёртывает спецификаторы формата внутри файлов в репозитории во время архивации git. Это переполнение целого числа может привести к произвольным записям в кучу, что может привести к выполнению произвольного кода. Проблема была исправлена в версиях, опубликованных 17 января 2023 года, начиная с v2.30.7. Пользователям рекомендуется обновиться. Пользователи, которые не могут обновиться, должны отключить `git archive` в ненадёжных репозиториях. Если вы открываете git archive через `git daemon`, отключите его, запустив `git config --global daemon.uploadArch false`.
CVE-2022-23521Git — это распределенная система управления версиями. gitattributes — это механизм, позволяющий определять атрибуты для путей. Эти атрибуты могут быть определены путем добавления файла `.gitattributes` в репозиторий, который содержит набор шаблонов файлов и атрибутов, которые должны быть установлены для путей, соответствующих этому шаблону. При разборе gitattributes могут возникнуть множественные переполнения целых чисел, когда имеется большое количество шаблонов путей, большое количество атрибутов для одного шаблона или когда объявленные имена атрибутов велики. Эти переполнения могут быть вызваны созданным вручную файлом `.gitattributes`, который может быть частью истории коммитов. Git молча разделяет строки длиннее 2 КБ при разборе gitattributes из файла, но не при разборе из индекса. Следовательно, режим отказа зависит от того, существует ли файл в рабочем дереве, индексе или в обоих. Это переполнение целого числа может привести к произвольному чтению и записи в кучу, что может привести к удаленному выполнению кода. Проблема была исправлена в версиях, опубликованных 17 января 2023 года, начиная с v2.30.7. Пользователям рекомендуется обновиться. Неизвестны обходные пути для этой проблемы.
CVE-2024-32002Git — это система контроля версий. До версий 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 и 2.39.4 репозитории с подмодулями могут быть созданы таким образом, что они эксплуатируют ошибку в Git, в результате чего его можно ввести в заблуждение, заставив писать файлы не в рабочую директорию подмодуля, а в директорию `.git/`. Это позволяет писать хуки, которые будут выполняться, пока операция клонирования еще продолжается, не давая пользователю возможности проверить исполняемый код. Проблема была исправлена в версиях 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 и 2.39.4. Если поддержка символьных ссылок отключена в Git (например, через `git config --global core.symlinks false`), описанная атака не сработает. Как всегда, лучше избегать клонирования репозиториев из ненадежных источников.
CVE-2022-39260Git — это масштабируемая распределенная система контроля версий с открытым исходным кодом. `git shell` — это оболочка ограниченного входа в систему, которую можно использовать для реализации функциональности push/pull Git через SSH. В версиях до 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3 и 2.37.4 функция, которая разбивает аргументы команды на массив, неправильно использует `int` для представления количества записей в массиве, что позволяет злоумышленнику намеренно переполнить возвращаемое значение, что приводит к произвольной записи в кучу. Поскольку результирующий массив затем передается в `execv()`, можно использовать эту атаку для получения удаленного выполнения кода на машине жертвы. Обратите внимание, что жертва должна сначала разрешить доступ к `git shell` в качестве оболочки входа в систему, чтобы быть уязвимой для этой атаки. Эта проблема исправлена в версиях 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 shell` через удаленные входы в систему является жизнеспособным краткосрочным решением.
CVE-2018-17456Git до версий 2.14.5, 2.15.x до 2.15.3, 2.16.x до 2.16.5, 2.17.x до 2.17.2, 2.18.x до 2.18.1 и 2.19.x до 2.19.1 допускает удаленное выполнение кода во время обработки рекурсивного «git clone» суперпроекта, если файл .gitmodules имеет поле URL, начинающееся с символа «-».
CVE-2025-48385Git - это быстрая, масштабируемая распределенная система контроля версий. При клонировании репозитория Git может получить bundle, анонсированный удаленным сервером, что позволяет серверу разгрузить часть процесса клонирования на CDN. Клиент Git не выполняет достаточной проверки анонсированных bundle, что позволяет удаленной стороне выполнить инъекцию протокола. Это может привести к записи полученных данных в место, контролируемое злоумышленником, и потенциально к выполнению произвольного кода [1]. Рекомендуется отключить использование bundle URIs, контролируя его с помощью опции конфигурации bundle.heuristic. Также рекомендуется отключить рекурсивное клонирование с подмодулями [1]. Источники: - [1] https://github.com/git/git/security/advisories/GHSA-m98c-vgpc-9655
CVE-2025-27614В Gitk, средстве просмотра истории Git на основе Tcl/Tk, обнаружена уязвимость, позволяющая выполнить произвольный код при определенных условиях. Злоумышленник может создать репозиторий Git, который при определенных условиях позволяет выполнить произвольный скрипт на системе пользователя. Исправлена в версиях 2.43.7, 2.44.4, 2.45.4, 2.46.4, 2.47.3, 2.48.2, 2.49.1 и 2.50. Источники: - [1] https://github.com/j6t/gitk/security/advisories/GHSA-g4v5-fjv9-mhhc - [2] https://github.com/j6t/gitk/commit/8e3070aa5e331be45d4d03e3be41f84494fce129 Источники: - [1] https://github.com/j6t/gitk/security/advisories/GHSA-g4v5-fjv9-mhhc - [2] https://github.com/j6t/gitk/commit/8e3070aa5e331be45d4d03e3be41f84494fce129
CVE-2025-46835Git GUI позволяет использовать инструменты управления версиями Git через графический интерфейс. Когда пользователь клонирует недоверенный репозиторий и обманным путем редактирует файл, расположенный в каталоге с вредоносным именем в репозитории, Git GUI может создать и перезаписать файлы, для которых у пользователя есть разрешение на запись. Эта уязвимость исправлена в версиях 2.43.7, 2.44.4, 2.45.4, 2.46.4, 2.47.3, 2.48.2, 2.49.1 и 2.50.1 [1]. Источники: - [1] https://github.com/j6t/git-gui/security/advisories/GHSA-xfx7-68v4-v8fg - [2] https://github.com/j6t/git-gui/compare/dcda716dbc9c90bcac4611bd1076747671ee0906..a437f5bc93330a70b42a230e52f3bd036ca1b1da
CVE-2024-32004Git — это система контроля версий. До версий 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 и 2.39.4 злоумышленник может подготовить локальный репозиторий таким образом, что при клонировании он выполнит произвольный код в процессе. Проблема была исправлена в версиях 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 и 2.39.4. В качестве обходного пути избегайте клонирования репозиториев из ненадежных источников.
CVE-2025-48384Git - это быстрая, масштабируемая, распределенная система контроля версий с необычно богатым набором команд, обеспечивающая как высокоуровневые операции, так и полный доступ к внутренним компонентам. При чтении значения конфигурации Git удаляет любой завершающий возврат каретки и перевод строки (CRLF). При записи записи конфигурации значения с завершающим CR не заключаются в кавычки, что приводит к потере CR при последующем чтении конфигурации. При инициализации подмодуля, если путь подмодуля содержит завершающий CR, измененный путь считывается, в результате чего подмодуль проверяется в неправильном месте. Если существует символическая ссылка, указывающая измененный путь на каталог hooks подмодуля, и подмодуль содержит исполняемый хук post-checkout, скрипт может быть непреднамеренно выполнен после проверки [1]. Для устранения уязвимости необходимо обновить Git до версии v2.43.7 или выше. Источники: - [1] https://github.com/git/git/security/advisories/GHSA-vwqx-4fm8-6qc9
CVE-2023-29007Git - это система контроля версий. До версий 2.30.9, 2.31.8, 2.32.7, 2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3 и 2.40.1 специально созданный файл `.gitmodules` с URL подмодуля, превышающими 1024 символа, может использоваться для эксплуатации ошибки в `config.c::git_config_copy_or_rename_section_in_file()`. Эта ошибка может быть использована для инъекции произвольной конфигурации в `$GIT_DIR/config` пользователя при попытке удалить секцию конфигурации, связанную с этим подмодулем. Когда злоумышленник инжектирует значения конфигурации, которые указывают исполняемые файлы (такие как `core.pager`, `core.editor`, `core.sshCommand` и т. д.), это может привести к удаленному выполнению кода. Исправление доступно в версиях 2.30.9, 2.31.8, 2.32.7, 2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3 и 2.40.1. В качестве обходного решения следует избегать выполнения `git submodule deinit` на ненадежных репозиториях или без предварительного изучения любых секций подмодуля в `$GIT_DIR/config`.
CVE-2022-29187Git - это распределенная система контроля версий. Git до версий 2.37.1, 2.36.2, 2.35.4, 2.34.4, 2.33.4, 2.32.3, 2.31.4 и 2.30.5 уязвим для повышения привилегий на всех платформах. Ничего не подозревающий пользователь все еще может пострадать от проблемы, о которой сообщалось в CVE-2022-24765, например, при переходе в качестве root в общую временную директорию, которая принадлежит ему, но где злоумышленник может создать репозиторий git. Версии 2.37.1, 2.36.2, 2.35.4, 2.34.4, 2.33.4, 2.32.3, 2.31.4 и 2.30.5 содержат исправление для этой проблемы. Самый простой способ избежать воздействия эксплойта, описанного в примере, - это избегать запуска git от имени root (или администратора в Windows), и, если необходимо, свести его использование к минимуму. Хотя общий обходной путь невозможен, систему можно защитить от эксплойта, описанного в примере, удалив любой такой репозиторий, если он уже существует, и создав его от имени root, чтобы заблокировать любые будущие атаки.
CVE-2022-24765Git for Windows — это форк Git, содержащий исправления, специфичные для Windows. Эта уязвимость затрагивает пользователей, работающих на многопользовательских машинах, где ненадежные стороны имеют доступ на запись к одному и тому же жесткому диску. Эти ненадежные стороны могут создать папку `C:\.git`, которая будет подхвачена операциями Git, предположительно запущенными вне репозитория, при поиске каталога Git. Затем Git будет учитывать любую конфигурацию в указанном каталоге Git. Пользователи Git Bash, установившие `GIT_PS1_SHOWDIRTYSTATE`, также уязвимы. Пользователи, установившие posh-git, уязвимы просто запустив PowerShell. Пользователи IDE, таких как Visual Studio, уязвимы: простое создание нового проекта уже приведет к чтению и учету конфигурации, указанной в `C:\.git\config`. Пользователи форка Git от Microsoft уязвимы просто запустив Git Bash. Проблема была исправлена в Git for Windows v2.35.2. Пользователи, которые не могут выполнить обновление, могут создать папку `.git` на всех дисках, где выполняются команды Git, и удалить доступ на чтение/запись из этих папок в качестве обходного решения. В качестве альтернативы определите или расширьте `GIT_CEILING_DIRECTORIES`, чтобы охватить _родительский_ каталог профиля пользователя, например, `C:\Users`, если профиль пользователя находится в `C:\Users\my-user-name`.
CVE-2023-25652Git - это система управления версиями. До версий 2.30.9, 2.31.8, 2.32.7, 2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3 и 2.40.1, подавая специально подготовленный ввод в `git apply --reject`, путь вне рабочей ветки может быть перезаписан частично контролируемым содержимым (соответствующим отклоненным блокам из данного патча). Исправление доступно в версиях 2.30.9, 2.31.8, 2.32.7, 2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3 и 2.40.1. В качестве обходного решения избегайте использования `git apply` с `--reject`, когда применяете патчи из недоверенного источника. Используйте `git apply --stat` для проверки патча перед применением; избегайте применения того, который создает конфликт, где существует ссылка на файл `*.rej`.
CVE-2023-23946Git, система контроля версий, уязвима для обхода по пути до версий 2.39.2, 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 и 2.30.8. Путем подачи специально сформированного ввода в `git apply` можно перезаписать путь вне рабочей директории от имени пользователя, выполняющего `git apply`. Исправление было подготовлено и появится в версиях v2.39.2, v2.38.4, v2.37.6, v2.36.5, v2.35.7, v2.34.7, v2.33.7, v2.32.6, v2.31.7 и v2.30.8. В качестве обходного решения используйте `git apply --stat`, чтобы проверить патч перед применением; избегайте применения патча, который создает символическую ссылку и затем создает файл за пределами символической ссылки.
CVE-2021-40330git_connect_git в connect.c в Git до версии 2.30.1 позволяет пути к репозиторию содержать символ новой строки, что может привести к неожиданным межпротокольным запросам, как показано в подстроке git://localhost:1234/%0d%0a%0d%0aGET%20/%20HTTP/1.1.
CVE-2021-21300Git — это распределенная система управления версиями с открытым исходным кодом. В уязвимых версиях Git специально созданный репозиторий, содержащий символические ссылки, а также файлы, использующие фильтр очистки/размытия, такой как Git LFS, может привести к выполнению только что извлеченного сценария при клонировании в файловую систему, нечувствительную к регистру, такую как NTFS, HFS+ или APFS (т. е. файловые системы по умолчанию в Windows и macOS). Обратите внимание, что для этого должны быть настроены фильтры очистки/размытия. Git для Windows настраивает Git LFS по умолчанию и поэтому уязвим. Проблема была исправлена в версиях, опубликованных во вторник, 9 марта 2021 года. В качестве обходного пути, если поддержка символических ссылок отключена в Git (например, с помощью `git config --global core.symlinks false`), описанная атака не сработает. Аналогично, если никакие фильтры очистки/размытия, такие как Git LFS, не настроены глобально (т. е. _до_ клонирования), атака будет сорвана. Как всегда, лучше избегать клонирования репозиториев из ненадежных источников. Самая ранняя версия, подверженная влиянию, — 2.14.2. Исправленные версии: 2.30.1, 2.29.3, 2.28.1, 2.27.1, 2.26.3, 2.25.5, 2.24.4, 2.23.4, 2.22.5, 2.21.4, 2.20.5, 2.19.6, 2.18.5, 2.17.62.17.6.
CVE-2020-5260Затронутые версии Git имеют уязвимость, при которой Git может быть обманут и отправить личные учетные данные на хост, контролируемый злоумышленником. Git использует внешние программы "credential helper" для хранения и получения паролей или других учетных данных из безопасного хранилища, предоставляемого операционной системой. Специально созданные URL-адреса, содержащие закодированную новую строку, могут внедрять непредусмотренные значения в поток протокола credential helper, заставляя credential helper получать пароль для одного сервера (например, good.example.com) для HTTP-запроса, выполняемого к другому серверу (например, evil.example.com), что приводит к отправке учетных данных для первого последнему. Нет никаких ограничений на отношения между этими двумя, что означает, что злоумышленник может создать URL-адрес, который будет представлять сохраненные учетные данные для любого хоста хосту по своему выбору. Уязвимость может быть вызвана передачей вредоносного URL-адреса в git clone. Однако затронутые URL-адреса выглядят довольно подозрительно; вероятным вектором будет через системы, которые автоматически клонируют URL-адреса, невидимые для пользователя, такие как подмодули Git или системы пакетов, построенные на основе Git. Проблема была исправлена в версиях, опубликованных 14 апреля 2020 года, начиная с v2.17.x. Любой, кто хочет перенести изменения дальше, может сделать это, применив commit 9a6bbee (полный выпуск включает дополнительные проверки для git fsck, но этого коммита достаточно для защиты клиентов от уязвимости). Исправленные версии: 2.17.4, 2.18.3, 2.19.4, 2.20.3, 2.21.2, 2.22.3, 2.23.2, 2.24.2, 2.25.3, 2.26.1.
CVE-2020-11008В затронутых версиях Git имеется уязвимость, из-за которой Git можно обманом заставить отправить частные учетные данные на хост, контролируемый злоумышленником. Эта ошибка аналогична CVE-2020-5260 (GHSA-qm7j-c969-7j4q). Исправление для этой ошибки все еще оставляет возможность для эксплуатации, при которой утекает _некоторая_ учетная запись (но злоумышленник не может контролировать, какая именно). Git использует внешние программы «помощника учетных данных» для хранения и извлечения паролей или других учетных данных из безопасного хранилища, предоставляемого операционной системой. Специально созданные URL-адреса, которые считаются незаконными, начиная с недавно опубликованных версий Git, могут привести к тому, что Git отправит «пустой» шаблон помощникам, в котором отсутствуют поля имени хоста и протокола. Многие помощники интерпретируют это как соответствующее _любому_ URL-адресу и возвращают некоторый неуказанный сохраненный пароль, передавая пароль на сервер злоумышленника. Уязвимость может быть вызвана передачей вредоносного URL-адреса команде `git clone`. Однако затронутые URL-адреса выглядят довольно подозрительно; вероятным вектором будет через системы, которые автоматически клонируют URL-адреса, невидимые для пользователя, такие как подмодули Git или системы пакетов, построенные на основе Git. Корень проблемы находится в самом Git, который не должен передавать пустые входные данные помощникам. Однако возможность эксплуатации уязвимости на практике зависит от того, какие помощники используются. Известно, что следующие помощники учетных данных вызывают уязвимость: - Помощник Git "store" - Помощник Git "cache" - Помощник "osxkeychain", поставляемый в каталоге Git "contrib". Известно, что следующие помощники учетных данных безопасны даже с уязвимыми версиями Git: - Git Credential Manager для Windows. Следует предположить, что любой помощник, не входящий в этот список, вызывает уязвимость.
CVE-2019-1387Проблема была обнаружена в Git до версий v2.24.1, v2.23.1, v2.22.2, v2.21.1, v2.20.2, v2.19.3, v2.18.2, v2.17.3, v2.16.6, v2.15.4 и v2.14.6. Рекурсивные клоны в настоящее время подвержены уязвимости, вызванной слишком нестрогой проверкой имен подмодулей, что позволяет проводить очень целенаправленные атаки посредством удаленного выполнения кода в рекурсивных клонах.
CVE-2019-1353Проблема была обнаружена в Git до версий v2.24.1, v2.23.1, v2.22.2, v2.21.1, v2.20.2, v2.19.3, v2.18.2, v2.17.3, v2.16.6, v2.15.4 и v2.14.6. При запуске Git в подсистеме Windows для Linux (также известной как «WSL») при доступе к рабочему каталогу на обычном диске Windows никакие защиты NTFS не были активны.
CVE-2019-1352Существует уязвимость удаленного выполнения кода, когда Git для Visual Studio неправильно обрабатывает ввод, также известная как «Уязвимость удаленного выполнения кода Git для Visual Studio». Этот CVE ID уникален от CVE-2019-1349, CVE-2019-1350, CVE-2019-1354, CVE-2019-1387.
CVE-2019-1349Существует уязвимость удаленного выполнения кода, когда Git for Visual Studio неправильно очищает ввод, также известная как "Уязвимость удаленного выполнения кода Git for Visual Studio". Этот CVE ID уникален от CVE-2019-1350, CVE-2019-1352, CVE-2019-1354, CVE-2019-1387.
CVE-2024-32465Git — это система контроля версий. Проект Git рекомендует избегать работы в ненадежных репозиториях и вместо этого сначала клонировать их с помощью `git clone --no-local`, чтобы получить чистую копию. Git имеет специфические защиты, которые делают это безопасной операцией, даже с ненадежным исходным репозиторием, но уязвимости позволяют обойти эти защиты. В контексте клонирования локальных репозиториев, принадлежащих другим пользователям, эта уязвимость была рассмотрена в CVE-2024-32004. Но есть обстоятельства, при которых исправления для CVE-2024-32004 недостаточны: например, при получении файла `.zip`, содержащего полную копию репозитория Git, его не следует по умолчанию считать безопасным, поскольку, например, хуки могут быть настроены на выполнение в контексте этого репозитория. Проблема была исправлена в версиях 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 и 2.39.4. В качестве обходного пути избегайте использования Git в репозиториях, которые были получены через архивы из ненадежных источников.
CVE-2023-22490Git — это система управления версиями. Используя специально созданный репозиторий, Git до версий 2.39.2, 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 и 2.30.8 можно обмануть, заставив использовать его оптимизацию локального клонирования, даже при использовании нелокального транспорта. Хотя Git прерывает локальные клоны, чей источник директории `$GIT_DIR/objects` содержит символические ссылки, сама директория `objects` все еще может быть символической ссылкой. Эти два факта могут быть объединены, чтобы включить произвольные файлы на основе известных путей на файловой системе жертвы в рабочей копии вредоносного репозитория, позволяя экстракции данных подобно CVE-2022-39253. Исправление было подготовлено и появится в версиях v2.39.2, v2.38.4, v2.37.6, v2.36.5, v2.35.7, v2.34.7, v2.33.7, v2.32.6, v2.31.7 и v2.30.8. Если обновление невозможно, доступны две краткосрочные обходные меры. Избегайте клонирования репозиториев из ненадежных источников с помощью `--recurse-submodules`. Вместо этого рассмотрите возможность клонирования репозиториев без рекурсивного клонирования их подсоединений и запускайте `git submodule update` на каждом уровне. Перед этим просмотрите каждый новый файл `.gitmodules`, чтобы убедиться, что он не содержит подозрительных URL-адресов модулей.
Перейти к вендору →Открыть в каталоге с фильтром по продукту →