Биткойн Крипто-кошельки

CVE-2025-48384: Уязвимость в Git с использованием символа возврата каретки и возможностью удаленного выполнения кода

Биткойн Крипто-кошельки
CVE-2025-48384: Breaking Git with a carriage return and cloning RCE

Раскрытие деталей уязвимости CVE-2025-48384, влияющей на Unix-подобные системы при использовании Git с опцией --recursive, и способы защиты от потенциальных атак с удаленным выполнением кода.

Git — одна из самых популярных систем контроля версий, используемая миллионами разработчиков по всему миру. Ее надежность и безопасность крайне важны для сохранения целостности и конфиденциальности проектов. Однако недавно обнаруженная критическая уязвимость CVE-2025-48384 проливает свет на важный аспект безопасности, связанный с особенностями обработки файлов конфигурации и взаимодействием с подмодулями в Git. Эта уязвимость особенно актуальна для пользователей Unix-подобных систем и может привести к удаленному выполнению кода при клонировании репозиториев с опцией --recursive из непроверенных источников. Понимание механизмов, стоящих за этой уязвимостью, и своевременное обновление Git и связанных инструментов является важной задачей для специалистов в области безопасности и разработчиков.

Суть проблемы связана с особенностями работы Git с текстовыми файлами, точнее с форматом файлов конфигурации, таких как .gitmodules. Этот файл необходим для отслеживания подмодулей в репозитории и оформлен в стиле ini-файлов с секциями и ключ-значениями. Особенно важна здесь возможность Git обрабатывать различные виды символов конца строки, включая классические символы возврата каретки \r и перевода строки \n. Исторически понятия «возврат каретки» и «перевод строки» произошли из механики старых печатных машинок, где возврат каретки служил для возвращения печатающей головки в начало строки, а перевод строки — для перехода к следующей строке.

В системах Unix для разделения строк используется только символ перевода строки \n, тогда как в Windows традиционно применяются два символа — сочетание \r\n. Git умеет работать с обоими форматами. В функции get_next_char, отвечающей за чтение символов из конфигурационных файлов, реализована логика проверки символа возврата каретки. Если после \r следует \n, Git считает это одним символом конца строки и обрабатывает корректно. Если же следующий символ иной, то возвращается сам \r и следующий символ ставится обратно в поток для повторного чтения.

Эта тонкость становится ключевым фактором для эксплуатации уязвимости. Когда Git записывает конфигурационные файлы, в частности значения ключей, он проверяет наличие определенных символов или пробелов, чтобы определить, следует ли значение брать в кавычки. Однако до публикации исправления кавычки не ставились при наличии в значении символа возврата каретки. В результате, значение, заканчивающееся на \r, при повторном чтении файла интерпретировалось некорректно. Рассмотрим, что происходит именно в файле .

gitmodules. Этот файл может содержать путь к подмодулю с именем, включающим символ возврата каретки. В Unix-подобных системах возможно создание файлов и папок с управляющими символами в имени, чего нельзя сделать в Windows. Git читает путь из .gitmodules и проверяет его корректность.

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

Используя эту особенность, злоумышленник может заставить Git разместить содержимое подмодуля вне ожидаемых директорий, обходя ограничения системы или политики проверки безопасности. Возможные последствия включают произвольную перезапись файлов в файловой системе, вплоть до конфигурационных файлов Git или скриптов хуков, что может привести к выполнению произвольного кода в контексте пользователя. Интересно отметить, что уязвимость не затрагивает Windows напрямую, поскольку файловая система не допускает в именах файлов управляющих символов вроде \r. Однако macOS, а также многие разновидности Linux и другие Unix-подобные ОС уязвимы. Клиенты и инструменты, использующие Git как библиотеку или внутренний компонент, включая популярный GitHub Desktop, тоже подвергаются риску, особенно если они по умолчанию используют опцию --recursive для клонирования подмодулей.

Владелец уязвимости — David Leadbeater — подробно описал проблему и предложил простое, но эффективное решение. При записи конфигурационных значений в функцию write_pair была добавлена проверка на наличие символа возврата каретки в значении. Если такой символ присутствует, все значение заключается в двойные кавычки, что предотвращает неправильную интерпретацию при повторном чтении и ломает цепочку эксплоита. Такой подход гарантирует целостность данных и сохраняет корректную работу механизмов проверки. Меры защиты от CVE-2025-48384 в первую очередь связаны с обновлением Git и зависимых программ до версий, содержащих патч.

Дополнительным промежуточным способом снижения риска является отказ от использования опции --recursive при клонировании подозрительных репозиториев и ручная проверка файла .gitmodules на предмет присутствия необычных или управляющих символов в путях. Следует быть особенно внимательным при работе с неофициальными и малоизвестными источниками кода. Этот случай указывает на важность правильной обработки управляющих символов в текстовых протоколах и форматах конфигураций. Аналогичные проблемы часто встречаются в сетевых протоколах и межпроцессном взаимодействии, где несогласованность в интерпретации символов конца строки приводит к уязвимостям типа CRLF-инъекций.

В современных условиях принцип устаревшей рекомендации Постела «быть консервативным в своем поведении и щедрым в принятии данных» пересматривается, поскольку излишняя либеральность при парсинге может создавать бреши для атак. Уязвимость CVE-2025-48384 является одним из результатов аудита исходного кода Git, проведенного при поддержке G-Research Open Source. Помимо приведенной проблемы, были выявлены и устранены и другие ошибки различной степени серьезности. Эти события подчеркивают важность регулярных проверок безопасности и своевременного реагирования на найденные уязвимости. История развития уязвимостей, связанных с символом возврата каретки, в Git насчитывает несколько инцидентов.

В январе 2025 года были обнаружены проблемы с протоколом взаимодействия с кредитными помощниками, вызванные подобным эффектом. В 2023 году ошибки обработки конфигурационных файлов также приводили к потенциальным нарушениям целостности. Этот контекст помогает лучше осознать, что вопросы безопасного парсинга и шаблонной обработки данных существенно влияют на надежность сложных инструментов. Для разработчиков и системных администраторов важно ознакомиться с техническими деталями этой уязвимости и практическими путями ее эксплуатации, чтобы эффективно диагностировать проблемы и внедрять превентивные меры. Понимание влияния особых символов, таких как возврат каретки, на внутренние процессы инструментов может помочь в предотвращении подобных угроз и в других сферах разработки.

В конечном итоге CVE-2025-48384 демонстрирует, что даже мелкие, на первый взгляд, особенности исторического наследия, такие как управление символами конца строки, могут приводить к серьезным проблемам безопасности. Внимание к деталям, глубокий анализ кода и своевременное исправление уязвимостей играют ключевую роль в обеспечении надежности современных систем контроля версий и тем самым безопасности всего software development lifecycle.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
Open finance vs. Decentralized finance - Cointelegraph
Вторник, 14 Октябрь 2025 Открытые финансы vs. Децентрализованные финансы: будущее мировой экономики

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

Decentralized Finance Will Reshape The Internet, Crypto Founder Says
Вторник, 14 Октябрь 2025 Децентрализованные финансы: революция в интернете по мнению основателя криптопроекта

Развитие децентрализованных финансов (DeFi) является ключевым фактором трансформации интернета и становления Web3. В статье рассматривается взгляд основателя 1inch Сергея Кунца на влияние DeFi на цифровую экономику, возможности микроплатежей и будущее финансовой доступности без посредников.

KOINSWAP - The Most Appealing Decentralized Cryptocurrency Exchange Framework With It’s Own Layer-1 Blockchain - Yahoo Finance
Вторник, 14 Октябрь 2025 KOINSWAP: Революция в мире децентрализованных криптовалютных бирж с собственным Layer-1 блокчейном

Обзор инновационной платформы KOINSWAP, представляющей собой децентрализованную криптовалютную биржу с уникальным Layer-1 блокчейном, обеспечивающей безопасность, анонимность и высокую доходность пользователей.

Jim Cramer has a 'very positive' response to new acquisition deal
Вторник, 14 Октябрь 2025 Позитивная реакция Джима Крамера на новую сделку по приобретению CoreWeave и её влияние на рынок AI и криптовалют

Анализ значимости сделки между CoreWeave и Core Scientific в контексте развития AI-инфраструктуры, комментарии Джима Крамера и прогнозы для рынка высокопроизводительных вычислений и криптоиндустрии.

Reddit product recommendations in one place
Вторник, 14 Октябрь 2025 Лучшие рекомендации по продуктам на Reddit в одном месте: как выбрать надежные товары на основе опыта сообщества

Пошаговое руководство по эффективному использованию рекомендаций Reddit для выбора качественных продуктов. Узнайте, как анализировать отзывы настоящих пользователей, получать проверенные данные и принимать обоснованные решения при покупке.

Reka Vision – agentic visual understanding and search platform
Вторник, 14 Октябрь 2025 Reka Vision – передовая платформа для агентного визуального анализа и поиска

Reka Vision представляет собой инновационную платформу, которая максимально раскрывает потенциал мультимедийных данных, превращая необработанную визуальную информацию в ценные инсайты и эффективные решения для бизнеса и создателей контента.

The Dangers of Identity Databases
Вторник, 14 Октябрь 2025 Опасности баз данных с личной информацией: почему сохранение персональных данных может угрожать безопасности

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