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 обязательно


Обсуждение (37) 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 +/
    "Хо-ро-шо поменяли! Классно поменяли!"(С)
     
  • 3.30, Аноним (30), 13:49, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    какой ещё баш? почему не Rust?
     
  • 2.7, Аноним (7), 23:22, 08/07/2025 [^] [^^] [^^^] [ответить]  
  • +13 +/
    Practical Exploitation and Remote code execution Language.
     
     
  • 3.31, Аноним (30), 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 [^] [^^] [^^^] [ответить]  
  • +/
    Ты перепутал corruption и corrosion. Жаль, конечно, что с образованием всё так плохо. Даже такие простые понятия путают. Такое чувство, что план Даллеса не миф и действительно работает.
     
  • 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.18, Аноним (18), 07:38, 09/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А где узнавать об уязвимостях до выхода патчей? Мне для друга надо...
     
     
  • 2.25, Аноним (25), 11:47, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А где друг работает?
     

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

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

     
     
  • 2.23, Аноним (23), 10:56, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это перлуны.
     
     
  • 3.24, Аноним (-), 11:41, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >  Это перлуны.

    Перловики те еще овнокодеры, но в данном случае дырень в си коде.
    Так что не надо на них незаслуженно гнать
    Вот фикс:
    github.com/git/git/commit/05e9cd64ee23bbadcea6bcffd6660ed02b8eab89

     
     
  • 4.33, Аноним (23), 17:17, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это логическая дырень, от нее Rust бы не спас.
     
     
  • 5.35, Аноним (35), 17:57, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Это логическая дырень, от нее Rust бы не спас.

    Спас бы, если бы "переписыватели" разбирались в Си коде и столкнулись бы с этой ошибкой, а не просто транслировали бы синтаксис с одного ЯП на другой, для той задачи в "переписывателях" нет нужды, как раз таки ЫЫ должен с этим хорошо справляться.

     
     
  • 6.37, Аноним (37), 18:11, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ИИ может иметь тайный интерес тебе навредить, который ты не сможешь никак проверить. Или скрытый промт, от создателей твоих инструментов.
     
     
  • 7.39, Аноним (35), 18:19, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > ИИ может иметь тайный интерес тебе навредить

    Ну и компилятор не лишен этого интереса ведь, как и живой "переписыватель", очевидно ведь. Речь же совсем о другом.

     
  • 7.41, Аноним (40), 20:13, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Пока что видим, что без ИИ и скрытых промптов кто-то умудрился навредить. Возможно даже без умысла. С умыслом вообще бы интеренет на куски порвало бы.
     
  • 3.29, Аноним (30), 13:47, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Сообщите пацанам, когда закончат переписывать C и C++ на Rust, срочно начинают переписывать Perl!!!!
     
     
  • 4.36, Аноним (37), 18:10, 09/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нам нейросеть сразу на трех языках пишет. И сама в CI выкладывает с тестами. Пока все тесты не пройдет сама всё правит.
     

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



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

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