Ssylka

Могут ли вредоносные URL-адреса похитить ваши Git-кредиты?

Серия недавно обнаруженных уязвимостей в GitHub Desktop, Git и связанных проектах создает серьезную угрозу для безопасности данных пользователей. Центральной проблемой является возможность утечки Git-кредитов, позволяя злоумышленникам получать несанкционированный доступ к ресурсам, защищенным аутентификацией. Главным вектором атаки являются искусно созданные удаленные URL-адреса, которые обманывают инструменты, заставляя их передавать учетные данные на сторонние серверы.
Могут ли вредоносные URL-адреса похитить ваши Git-кредиты?
Изображение носит иллюстративный характер

Особую опасность представляет метод «контрабанды» символов возврата каретки ("\r"). Путем внедрения этих символов в URL-адреса, злоумышленники могут заставить GitHub Desktop и другие инструменты неправильно интерпретировать запросы учетных данных, перенаправляя их к несанкционированным хостам. Аналогичные уязвимости обнаружены и в пакете Git Credential Manager NuGet, что также приводит к раскрытию конфиденциальной информации.

Не отстает и Git LFS, который не осуществляет должную проверку управляющих символов в URL-адресах, что позволяет осуществлять внедрение CRLF (возврат каретки и перевод строки). Эта слабость является еще одним каналом для утечки Git-кредитов. В GitHub CLI рекурсивное клонирование также может привести к утечке токенов аутентификации на субмодули, размещенные не на GitHub, при определенных условиях. Уязвимость проявляется при установленных переменных окружения GITHUB_ENTERPRISE_TOKEN, GH_ENTERPRISE_TOKEN, GITHUB_TOKEN и когда CODESPACES установлен в значение "true", особенно в среде GitHub Codespaces.

Исследователь Ry0taK из GMO Flatt Security обнаружил эти уязвимости, пролив свет на их опасность и потенциальные последствия. Последующий анализ выявил, что успешная эксплуатация этих уязвимостей может предоставить злоумышленникам доступ к привилегированным ресурсам с использованием украденных учетных данных.

В частности, уязвимость CVE-2024-50338, получившая оценку 7.4 по шкале CVSS, является серьезной проблемой, как и уязвимость CVE-2024-53263 с оценкой 8.5. Чуть менее опасными являются CVE-2024-53858 (6.5) и CVE-2024-52006, и CVE-2024-50349 обе получившие оценку в 2.1. Но даже с более низкими оценками они несут значительные риски. Важно отметить, что в Git v2.48.1 была устранена CVE-2024-52006, и в целом Git обрабатывает контрабанду возврата каретки как отдельную уязвимость.

Уязвимости также включают в себя возможность создания URL-адресов, которые обманывают пользователей, заставляя их предоставлять свои учетные данные на произвольных сайтах. Это было задокументировано как CVE-2024-50349. Основным способом атаки являются, как уже упоминалось, специально сконструированные URL-адреса, которые используют способы обработки управляющих символов, таких как возврат каретки ("\r") и перевод строки ("\n").

Учитывая серьезность ситуации, критически важно обновить используемые Git-инструменты до последних версий. Рекомендуется избегать клонирования репозиториев с помощью команды git clone --recurse-submodules из ненадежных источников. В качестве дополнительной меры безопасности можно отключить вспомогательные средства для работы с учетными данными, ограничиваясь клонированием только общедоступных репозиториев.

GitHub Software Engineer Тейлор Блау также подтвердил существование этих проблем, подчеркнув важность своевременного применения мер по их устранению. Уязвимости были выявлены при анализе протокола Git Credential Protocol. Упомянутые уязвимости и способы их эксплуатации затрагивают такие домены, как github[.]com и ghe[.]com, что указывает на широкий спектр потенциальных жертв.

Символы возврата каретки ("\r") и перевода строки ("\n"), составляющие CRLF (carriage return line feed), играют ключевую роль в этих уязвимостях, позволяя злоумышленникам манипулировать поведением Git-инструментов. Понимание этих технических деталей критически важно для разработчиков и специалистов по безопасности.


Новое на сайте