The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Уязвимости в Git, допускающие выполнение кода при обращении к внешнему репозиторию

08.07.2025 22:07

Опубликованы корректирующие выпуски распределённой системы управления исходными текстами 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, в которых устранены уязвимости, позволяющие выполнить свой код на системе пользователя при выполнение операции клонирования репозитория, подконтрольного атакующему.

  • CVE-2025-48384 - уязвимость вызвана тем, что при чтении значений параметров конфигурации Git очищает указанные в конце символы перевода строки (LF) и возврата каретки (CR), но при записи значений в файл конфигурации не выполняет экранирование символа возврата каретки. Атакующий может указать при инициализации субмодуля путь, в конце имени которого указан символ возврата каретки (ФС в unix-подобных ОС позволяют указывать спецсимволы в именах файлов и каталогов).

    Очистка символа возврата каретки при чтении конфигурации приведёт к тому, что субмодуль будет извлечён по некорректному пути. Атакующий может разместить по этому некорректному пути символическую ссылку, указывающую на каталог с git hook-ами и разместить в нём обработчик, вызываемый после завершения операции checkout. Выполнение команды "git clone --recursive" над репозиторием с подобным субмодулем приведёт к выполнению кода, указанного злоумышленником.

  • CVE-2025-48385 - недостаточная проверка на стороне клиента bundle-файлов, отдаваемых сервером во время клонирования репозитория и используемых для передачи части отдаваемых данных через системы доставки контента (CDN). Атакующий, контролирующий Git-сервер, может организовать загрузку клиентом специально оформленного bundle-файла, который после извлечения будет сохранён в произвольное место ФС.
  • CVE-2025-48386 - специфичная для платформы Windows уязвимость, вызванная переполнением буфера в обработчике Wincred, применяемом для сохранения учётных данных в Windows Credential Manager.

Кроме того, устранены четыре уязвимости в графических интерфейсах Gitk и Git GUI, написанных на Tcl/Tk:

  • CVE-2025-27613 - открытие в Gitk специально оформленного репозитория может привести к перезаписи произвольных файлов в файловой системе.
  • CVE-2025-27614 - при выполнении "gitk filename" над специально оформленным репозиторием может привести к запуску скрипта, подготовленного атакующим.
  • CVE-2025-46334 - в Git GUI в Windows можно организовать запуск кода атакующего при выполнении пользователем действий "Git Bash" или "Browse Files" c репозиторием, в рабочем дереве которого атакующим размещены типовые исполняемые файлы, такие как sh.exe, astextplain.exe, exif.exe и ps2ascii.exe, вызываемые в процессе работы Git GUI.
  • CVE-2025-46335 - возможность создать или перезаписать произвольный файл в ФС при редактировании пользователем в Git GUI файла из каталога со специально оформленным именем, извлечённого из репозитория, подготовленного атакующим.


  1. Главная ссылка к новости (https://github.blog/open-sourc...)
  2. OpenNews: Выпуск системы управления исходными текстами Git 2.50
  3. OpenNews: Две уязвимости в Git, способные привести к удалённому выполнению кода
  4. OpenNews: Уязвимости в Git, позволяющие перезаписать файлы или выполнить свой код
  5. OpenNews: Пять уязвимостей в Git, среди которых одна критическая и две опасные
  6. OpenNews: Уязвимость в MCP-сервере GitHub, приводящая к утечке информации из приватных репозиториев
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63552-git
Ключевые слова: git
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (26) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.5, Аноним (5), 23:14, 08/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    А чего вы хотели от софта где используется perl, не удивлюсь если там есть уязвимость, которую можно запихнуть в сообщение коммита
     
     
  • 2.6, Анёним (?), 23:18, 08/07/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    В новой версии избавились от Perl, переписав части на нём на bash, была новость тут
     
     
  • 3.10, 12yoexpert (ok), 00:33, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    ну теперь заживём
     
  • 3.13, X512 (?), 01:25, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > переписав части на нём на bash

    Шило на мыло.

     
  • 3.19, User (??), 08:24, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Хо-ро-шо поменяли! Классно поменяли!"(С)
     
  • 2.7, Аноним (7), 23:22, 08/07/2025 [^] [^^] [^^^] [ответить]  
  • +13 +/
    Practical Exploitation and Remote code execution Language.
     
     
  • 3.31, Аноним (31), 13:51, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а как Rust расшифровывается?
     
     
  • 4.32, Аноним (32), 16:22, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Rust не расшифровывается. Вообще. Или вы про название?
     
  • 4.38, 12yoexpert (ok), 18:12, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    сначала хотели назвать corruption, но потом решили, что слишком палевно, и переименовали в rust. так что это не аббревиатура
     
     
  • 5.40, Аноним (40), 20:11, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты перепутал corruption и corrosion. Жаль, конечно, что с образованием всё так плохо. Даже такие простые понятия путают. Такое чувство, что план Даллеса не миф и действительно работает.
     
     
  • 6.42, 12yoexpert (ok), 00:50, 10/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    я не перепутал и написал именно то, что хотел. видимо, твой менталитет позволяет переводить это слово только как "коррупция", а про порчу и разложение вам в школе уже не рассказывают. действительно, план Даллеса работает
     
  • 2.8, Аноним (8), 23:30, 08/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    perl там только для отправки почты через git send-email, чтоб свой smtp клиент не писать.
     
  • 2.11, Аноним (8), 01:10, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это, кстати, ты еще hg не видел (или видел?) - он весь, а не только пара утилит-обвязок как в гите, написан на скриптовом языке.
     
     
  • 3.12, Кошкажена (?), 01:21, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > написан на скриптовом языке

    Устаревшая информация уже.

     
     
  • 4.15, Аноним (15), 01:53, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кому интересно, подтверждаю. Скачал архив 7.0.2 версии, и в ней куча раст-файлов. Не бОльшая часть, но много.
     
     
  • 5.21, IMBird (ok), 08:46, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Они с питона, который их на дно и утянул, решили мигрировать на ... барабанная дробь ... раст.
    И теперь застряли в цикле вечного переписывания и бесконечной альфы.
     
     
  • 6.27, blkkid (?), 13:40, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    то анонам не нравится, что на расте не пишут, то анонам не нравится, что на расте пишут

    вы там хоть линию партии определите

     
  • 6.28, YetAnotherOnanym (ok), 13:42, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > с питона, который их на дно и утянул

    Вы ничиво нипанимаити! На питоне можно сто фич запилить, пока вы на расте один файл редактируете!
    (То, что оно потом будет еле-еле ворочаться - это уже не проблемы кодера).

     
  • 3.20, User (??), 08:24, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну тут как бы "нюанс" еще и в том, ЧТО это за язык...
     
     
  • 4.26, Аноним (8), 11:58, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Питон, а в гите перл. Только в гите перл не используется, скажем так, в ядре системе контроля версий - он просто для каких-то обвязок или не связанных с системой контроля версий действий, например, для отправки почты. Нафига целого smtp-клиента на Си писать для этого, если в перле уже есть p5-Net-SMTP-SSL? Меркуриал же весь написан на питоне.
     

  • 1.9, Аноним (9), 23:46, 08/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > 2.43.7, 2.44.4, 2.45.4, 2.46.4, 2.47.3, 2.48.2, 2.49.1 и 2.50.1

    а чего так мало версий? должно быть на 10 страниц текста

     
     
  • 2.14, Аноним (15), 01:46, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Просто товарищи не льют всё в одну-единственную ветку, как это делает тот же арч. У этих есть стабильные версии, куда только исправления ошибок попадают.
     
     
  • 3.16, Аноним (16), 06:51, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Просто товарищи не льют всё в одну-единственную ветку

    Льют сразу в 10. Считаете это нормальным?

     
     
  • 4.34, Аноним (34), 17:46, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда всё новое льют в одну ветку, а исправления - во все поддерживаемые, считаю нормальным, да.
     
  • 2.17, Аноним (17), 07:12, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что гит - плохая распределенная система, была бы хорошая, то было бы 10 страниц форков
     

  • 1.22, Аноним (22), 09:53, 09/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >уязвимость вызвана тем, что при чтении значений параметров конфигурации Git очищает указанные в конце символы перевода строки (LF) и возврата каретки (CR), но при записи значений в файл конфигурации не выполняет экранирование символа возврата каретки.

    Сишники опять на сырых строках прокололись.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру