GIT обращается к учетным данным для входа в систему, которые хранятся в системных помощниках учетных данных. Он использует текстовый протокол, который работает над обычным вводом и выводами, используя строки, записанные в виде пары клавиш.
Как GIT, так и помощник по учете учетных данных интерпретируют эти сообщения, которые описаны символами Newline, и некоторые гарантии реализованы для предотвращения введения имущества.
Ryotak обнаружил уязвимость в функции Desktop GitHub, которая автоматически предлагает учетные данные для клиента GIT. Этот недостаток позволяет злонамеренному репозиторию со специально разработанным URL -адресом для изучения учетных данных пользователей.
Эта уязвимость была идентифицирована как CVE-2015-23040, и это проблема в ошибке контрабанды с возвратом кареты. Это возникает из -за несоответствий в том, как разделение линий обрабатывается в протоколе учетных данных GIT по сравнению со спецификациями регулярного выражения в Ecmascript.
Из -за этого несоответствия, когда обрабатывается злонамеренный URL, настольный компьютер GIT и GitHub по -разному интерпретируют хост. Это заставляет последнего случайно раскрывать информацию в входе в учетную запись GitHub вместо предполагаемого клиента.
Исследователь безопасности, который назвал The Exploit, Clone2Leak также нашел связанную с этим проблему безопасности в управлении учетными данными GIT. Это кроссплатформенный помощник учетных данных для GIT, который отслеживается как CVE-2024-50338.
Как отмечает Риотак, обе уязвимости исходят из -за неправильного обращения с персонажем возврата кареты.
Однако GIT эффективно черноплят Newline Concrections, Git LFS, который представляет собой расширение, предназначенное для управления большими файлами, действует как дочерний процесс GIT и использует функцию. Эта функция позволяет символам новой линии, потенциально позволяя злоумышленникам избегать защиты git. Эта уязвимость регистрируется как CVE-2024-53263.
GitHub объясняет: «При использовании помощника учетных данных GIT использует протокол на основе линии для передачи информации между собой и помощником учетных данных. Специально созданный URL-адрес, содержащий возврат перевозки, может использоваться для внедрения непреднамеренных значений в поток протокола, в результате чего вспомогатель будет извлекать пароль для одного сервера при отправке его на другой ».