Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-48384 — Уязвимость Git | Возврат каретки и RCE при клонировании | Kitploit
Инструменты/GitHubGitHub/s41r4j/cve-2025-48384
Анализ уязвимостейЭксплуатацияБезопасность Цепочки ПоставокСтатьи и ИсследованияОбучение и ОбразованиеЛаборатории и Практика
GitHubs41r4j/cve-2025-48384

CVE-2025-48384

Уязвимость Git | Возврат каретки и RCE при клонировании

Репозиторий
10 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

Обзор CVE-2025-48384

CVE-2025-48384 — это критическая уязвимость в Git, широко используемой распределенной системе контроля версий. Она связана с некорректной обработкой символов возврата каретки (CR) в значениях конфигурации, что может привести к проблемам обхода пути при проверке подмодулей. Эта ошибка позволяет потенциально произвольное выполнение кода при определенных условиях. Уязвимость была публично раскрыта 8 июля 2025 года и последний раз изменена 26 августа 2025 года. Она была добавлена в каталог известных эксплуатируемых уязвимостей (KEV) Агентства по кибербезопасности и защите инфраструктуры США (CISA) 25 августа 2025 года, что указывает на активную эксплуатацию в дикой природе, с крайним сроком исправления 15 сентября 2025 года.

Описание уязвимости

Проблема возникает из-за того, как Git обрабатывает значения конфигурации:

  • При чтении значения конфигурации Git удаляет все завершающие символы возврата каретки и перевода строки (CRLF).
  • Однако при записи записи конфигурации значения, содержащие завершающий CR, не заключаются в кавычки должным образом, что приводит к потере CR при последующих чтениях.

Это несоответствие может привести к тому, что подмодуль будет извлечен в неправильное место, если его путь содержит завершающий CR. Если злоумышленник настроит символическую ссылку, указывающую на измененный путь к каталогу хуков подмодуля, и подмодуль содержит исполняемый хук после проверки (post-checkout), сценарий хука может быть выполнен непреднамеренно после извлечения, что приведет к произвольному выполнению кода.

Технические детали

Уязвимость использует конфликт интерпретации в синтаксическом анализе конфигурации Git:

  • Несоответствие обработки конфигурации: Завершающие CR удаляются при чтении, но не сохраняются при записи без кавычек.
  • Изменение пути извлечения подмодуля: Путь подмодуля, такой как "submodule/path", может быть интерпретирован как "submodule/path" после потери CR.
  • Эксплуатация символических ссылок: Злоумышленник может создать символическую ссылку с измененного пути на каталог хуков (например, .git/hooks/post-checkout), что позволит выполнять вредоносные хуки во время таких операций, как git submodule update или git clone --recurse-submodules.

Это классифицируется как:

  • CWE-436: Конфликт интерпретации (несоответствие в обработке данных).
  • CWE-59: Некорректное разрешение ссылок перед доступом к файлу («Переход по ссылке»), из-за злоупотребления символическими ссылками.

Вектор атаки — сетевой (AV:N), с высокой сложностью (AC:H), низкими требуемыми привилегиями (PR:L), требуется взаимодействие с пользователем (UI:R), измененный объем (S:C), с высоким влиянием на конфиденциальность, целостность и доступность (C:H/I:H/A:H).

Затронутые версии

Уязвимость затрагивает версии Git до следующих исправленных выпусков:

  • Все версии до v2.43.7
  • v2.44.0 – v2.44.3
  • v2.45.0 – v2.45.3
  • v2.46.0 – v2.46.3
  • v2.47.0 – v2.47.2
  • v2.48.0 – v2.48.1
  • v2.49.0
  • v2.50.0

Она затрагивает Git на различных платформах, включая Linux, macOS и Windows, но особенно актуальна в средах разработчиков, конвейерах CI/CD (например, GitHub Actions, GitLab CI) и везде, где подмодули Git клонируются из ненадежных репозиториев.

Воздействие и сценарии эксплуатации

  • Воздействие: Высокий риск удаленного выполнения кода (RCE), эксфильтрации данных или компрометации системы. В рабочих процессах разработчиков это может привести к атакам на цепочку поставок, если клонируются вредоносные репозитории.
  • Требования к эксплуатации:
    • Специально созданный путь подмодуля с завершающим CR.
    • Символическая ссылка, перенаправляющая в каталог хуков.
    • Исполняемый хук (например, post-checkout) в подмодуле.
    • Взаимодействие с пользователем, например, клонирование репозитория с --recurse-submodules.
  • Реальная эксплуатация: Поскольку уязвимость находится в каталоге KEV CISA, федеральные агентства и критическая инфраструктура должны устранить ее до 15 сентября 2025 года. Вероятно, она используется в целевых атаках на разработчиков или проекты с открытым исходным кодом. В уведомлении не упоминается общедоступное доказательство концепции (PoC), но высокая сложность предполагает необходимость специальной настройки.

Детали CVSS в NVD еще не полностью оценены (ожидается CVSS 4.0), но на основе метрик CVSS 3.1 из уведомления это соответствует критической серьезности (предположительно CVSS 8.8, как отмечалось ранее в более широких списках CVE).

Меры по смягчению и рекомендации

  • Исправленные версии: Обновите Git до одной из следующих или более поздних:
    • v2.43.7
    • v2.44.4
    • v2.45.4
    • v2.46.4
    • v2.47.3
    • v2.48.2
    • v2.49.1
    • v2.50.1
  • Обходные пути:
    • Избегайте рекурсивного клонирования подмодулей (--recurse-submodules) из ненадежных репозиториев.
    • Отключите или ограничьте использование символических ссылок в конфигурациях Git, если это возможно.
    • Используйте Git в средах с ограниченными правами (например, в контейнеризованных установках).
  • Дополнительные рекомендации: Для организаций, подпадающих под директивы CISA, примените исправления в соответствии с инструкциями поставщика или прекратите использование, если исправление невозможно. Регулярно сканируйте репозитории на предмет подозрительных подмодулей и отслеживайте неожиданное выполнение хуков.

Авторы и ссылки

  • Авторы: В уведомлении указан ttaylorr за сообщение и публикацию подробностей.
  • Основные ссылки:
    • Запись NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-48384
    • Уведомление GitHub: https://github.com/git/git/security/advisories/GHSA-vwqx-4fm8-6qc9
    • Каталог KEV CISA: (Интегрирован в детали NVD)

Эта уязвимость подчеркивает важность безопасной обработки в системах контроля версий, особенно с подмодулями. Если вы используете Git в производственной среде или среде разработки, немедленно выполните обновление, учитывая статус активной эксплуатации.

Быстрое PoC

  • Предварительные требования: установлен Docker; этот репозиторий клонирован локально. Сеть не требуется во время PoC.
  • Уязвимый Git: используется Git 2.40.4 (проверенное поведение с путаницей путей).
  • URL подмодуля: файл .gitmodules указывает на https://github.com/s41r4j/CVE-2025-48384-submodule.git, но PoC перезаписывает его на локальную копию для офлайн-тестирования.

Запустите:

bash scripts/poc.sh

Что он делает:

  • Создает образ контейнера с Git 2.40.4.
  • Создает флаг в $HOME/flag.txt внутри контейнера.
  • Копирует malicious-submodule-repo/ в /tmp в контейнере.
  • Рекурсивно клонирует этот репозиторий с перезаписью URL на эту локальную копию подмодуля.
  • Принудительно выполняет извлечение, чтобы запустить хук post-checkout, если путаница путей срабатывает.
  • Выводит /tmp/flag.txt, созданный хуком.

Примечания:

  • Путь вредоносного подмодуля — это буквальное sub^M (CR), сохраненное как gitlink; очищенный путь sub разрешается через символическую ссылку в .git/hooks, поэтому отслеживаемый post-checkout подмодуля попадает как реальный хук и выполняется.
  • Чтобы перенаправить gitlink на последний коммит вашего удаленного подмодуля после отправки его на GitHub, выполните: bash scripts/update-gitlink.sh.
Скачать инструмент